Implementation notes: aarch64, rockpi4, crypto_kem/oddmanhattan192

Computer: rockpi4
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20190816
Operation: crypto_kem
Primitive: oddmanhattan192
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
3639075165648 0 0197015 1064 1640optgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121420190816
3662083395012 0 0195303 1064 1624optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019121420190816
3696193065352 0 0195623 1064 1624optgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019121420190816
36988775610700 0 0203447 1064 1640optgcc_-funroll-loops_-O3_-fomit-frame-pointer2019121420190816
3708773044648 0 0194031 1048 1608optgcc_-Os_-fomit-frame-pointer2019121420190816
3816834495696 0 0197175 1064 1640optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019121420190816
3864209724640 0 0194079 1048 1608optgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121420190816
4117440674980 0 0195175 1064 1624optgcc_-O2_-fomit-frame-pointer2019121420190816
4144880395352 0 0195623 1064 1624optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019121420190816
41901575810596 0 0202831 1064 1624optgcc_-funroll-loops_-O2_-fomit-frame-pointer2019121420190816
4307309164640 0 0194079 1048 1608optgcc_-funroll-loops_-Os_-fomit-frame-pointer2019121420190816
43532843210444 0 0203919 1064 1624optgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019121420190816
4516002196720 0 0199188 984 1640optclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019121420190816
4551065896824 0 0199204 984 1640optclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019121420190816
4776766267780 0 0201015 1048 1624optgcc_-funroll-loops2019121420190816
5336686886720 0 0199188 984 1640optclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019121420190816
7161296105648 0 0197031 1064 1640optgcc_-O3_-fomit-frame-pointer2019121420190816
8785377304652 0 0194047 1048 1608optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019121420190816
91189161010444 0 0203919 1064 1624optgcc_-funroll-loops_-O_-fomit-frame-pointer2019121420190816
9747436024648 0 0194031 1048 1608optgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121420190816
104539633810556 0 0202879 1064 1624optgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121420190816
10559315557780 0 0201015 1048 1624optgcc2019121420190816
10889814674988 0 0195119 1064 1624optgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121420190816
11069618355352 0 0195623 1064 1624optgcc_-O_-fomit-frame-pointer2019121420190816
11069779427780 0 0201015 1048 1624optcc2019121420190816
111896278910652 0 0203367 1064 1640optgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121420190816
11487136576736 0 0199156 984 1640optclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019121420190816
11670025366720 0 0199188 984 1640optclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019121420190816
18996740355096 0 0193135 1064 1640refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019121420190816
19278216374756 0 0191575 1064 1624refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019121420190816
19335776188700 0 0197495 1064 1624refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019121420190816
19377873278788 0 0198095 1064 1640refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019121420190816
19940998774092 0 0190031 1048 1608refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121420190816
20157191886008 0 0195044 984 1640refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019121420190816
20742706114428 0 0191271 1064 1624refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019121420190816
21291236195056 0 0193007 1064 1640refgcc_-O3_-fomit-frame-pointer2019121420190816
21470812728652 0 0197919 1064 1640refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121420190816
21949368214092 0 0190031 1048 1608refgcc_-Os_-fomit-frame-pointer2019121420190816
22554268666008 0 0195044 984 1640refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019121420190816
22635257968692 0 0198735 1064 1624refgcc_-funroll-loops_-O_-fomit-frame-pointer2019121420190816
22686796236008 0 0195044 984 1640refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019121420190816
23850997808692 0 0198735 1064 1624refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019121420190816
23967794204756 0 0191575 1064 1624refgcc_-O_-fomit-frame-pointer2019121420190816
24000925066008 0 0194996 984 1640refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019121420190816
24014549935048 0 0192975 1064 1640refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121420190816
24104616974092 0 0190079 1048 1608refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019121420190816
24269094224396 0 0191143 1064 1624refgcc_-O2_-fomit-frame-pointer2019121420190816
24363989236172 0 0195975 1048 1624refcc2019121420190816
24546696304396 0 0191095 1064 1624refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121420190816
24796024404756 0 0191575 1064 1624refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019121420190816
24879656904096 0 0190031 1048 1608refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019121420190816
24978206966172 0 0195975 1048 1624refgcc2019121420190816
25083146136072 0 0195012 984 1640refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019121420190816
26994183864092 0 0190079 1048 1608refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121420190816
27059078558580 0 0197463 1064 1624refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121420190816
27647079046172 0 0195975 1048 1624refgcc_-funroll-loops2019121420190816

Compiler output

Implementation: opt
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
kem.c: kem.c:30:15: warning: passing 'char [32]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
kem.c: randombytes(seed,crypto_kem_BYTES);
kem.c: ^~~~
kem.c: /home/user/supercop/supercop-20190816/supercop-data/rockpi4/aarch64/include/randombytes.h:8:40: note: passing argument to parameter here
kem.c: extern void randombytes(unsigned char *,unsigned long long);
kem.c: ^
kem.c: kem.c:35:25: warning: passing 'char [32]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
kem.c: seedexpander_init(ctx,seed,diversifier,maxlen);
kem.c: ^~~~
kem.c: ./rng.h:40:34: note: passing argument to parameter 'seed' here
kem.c: unsigned char *seed,
kem.c: ^
kem.c: kem.c:131:30: warning: passing 'char [8]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
kem.c: seedexpander_init(ctx,seed,diversifier,maxlen);
kem.c: ^~~~~~~~~~~
kem.c: ./rng.h:41:34: note: passing argument to parameter 'diversifier' here
kem.c: unsigned char *diversifier,
kem.c: ^
kem.c: 3 warnings generated.

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments opt
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments opt
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments opt
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments opt
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments opt

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
kem.c: kem.c:30:15: warning: passing 'char [32]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
kem.c: randombytes(seed,crypto_kem_BYTES);
kem.c: ^~~~
kem.c: /home/user/supercop/supercop-20190816/supercop-data/rockpi4/aarch64/include/randombytes.h:8:40: note: passing argument to parameter here
kem.c: extern void randombytes(unsigned char *,unsigned long long);
kem.c: ^
kem.c: kem.c:35:25: warning: passing 'char [32]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
kem.c: seedexpander_init(ctx,seed,diversifier,maxlen);
kem.c: ^~~~
kem.c: ./rng.h:40:34: note: passing argument to parameter 'seed' here
kem.c: unsigned char *seed,
kem.c: ^
kem.c: kem.c:125:30: warning: passing 'char [8]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
kem.c: seedexpander_init(ctx,seed,diversifier,maxlen);
kem.c: ^~~~~~~~~~~
kem.c: ./rng.h:41:34: note: passing argument to parameter 'diversifier' here
kem.c: unsigned char *diversifier,
kem.c: ^
kem.c: 3 warnings generated.

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref