Implementation notes: aarch64, rockpi4, crypto_kem/oddmanhattan128

Computer: rockpi4
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20190816
Operation: crypto_kem
Primitive: oddmanhattan128
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1559492134628 0 0194015 1048 1608optgcc_-Os_-fomit-frame-pointer2019121420190816
1560537025820 0 0197151 1064 1640optgcc_-O3_-fomit-frame-pointer2019121420190816
15607848210756 0 0203439 1064 1640optgcc_-funroll-loops_-O3_-fomit-frame-pointer2019121420190816
1564448136608 0 0198980 984 1640optclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019121420190816
1574190804620 0 0194063 1048 1608optgcc_-funroll-loops_-Os_-fomit-frame-pointer2019121420190816
1576350795868 0 0197279 1064 1640optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019121420190816
1835153115820 0 0197135 1064 1640optgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121420190816
1850987534964 0 0195031 1064 1624optgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121420190816
1853638994620 0 0194063 1048 1608optgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121420190816
1906519516500 0 0198980 984 1640optclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019121420190816
1960449056516 0 0198932 984 1640optclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019121420190816
1986781937820 0 0201063 1048 1624optgcc_-funroll-loops2019121420190816
2082217977820 0 0201063 1048 1624optcc2019121420190816
3135301894956 0 0195071 1064 1624optgcc_-O2_-fomit-frame-pointer2019121420190816
3314622364632 0 0194015 1048 1608optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019121420190816
3322828674988 0 0195199 1064 1624optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019121420190816
33333973410656 0 0204127 1064 1624optgcc_-funroll-loops_-O_-fomit-frame-pointer2019121420190816
33354788610716 0 0203359 1064 1640optgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121420190816
3369125974628 0 0194015 1048 1608optgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121420190816
34548895510660 0 0202823 1064 1624optgcc_-funroll-loops_-O2_-fomit-frame-pointer2019121420190816
35461832010656 0 0204127 1064 1624optgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019121420190816
3713534935324 0 0195583 1064 1624optgcc_-O_-fomit-frame-pointer2019121420190816
3724446396500 0 0198980 984 1640optclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019121420190816
3726726155324 0 0195583 1064 1624optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019121420190816
3755784836500 0 0198980 984 1640optclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019121420190816
3772812825324 0 0195583 1064 1624optgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019121420190816
38194776910628 0 0202887 1064 1624optgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121420190816
3911341287820 0 0201063 1048 1624optgcc2019121420190816
6945582078620 0 0198655 1064 1624refgcc_-funroll-loops_-O_-fomit-frame-pointer2019121420190816
8599035834064 0 0190063 1048 1608refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019121420190816
8889457434068 0 0190015 1048 1608refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019121420190816
8943733894372 0 0190999 1064 1624refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121420190816
9068534235796 0 0194836 984 1640refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019121420190816
9304121824380 0 0191071 1064 1624refgcc_-O2_-fomit-frame-pointer2019121420190816
9520174515796 0 0194836 984 1640refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019121420190816
10108691255796 0 0194836 984 1640refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019121420190816
10263434096332 0 0196135 1048 1624refgcc_-funroll-loops2019121420190816
10497039286332 0 0196135 1048 1624refcc2019121420190816
10575996625276 0 0193247 1064 1640refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019121420190816
10657431964064 0 0189999 1048 1608refgcc_-Os_-fomit-frame-pointer2019121420190816
10706269215228 0 0193095 1064 1640refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121420190816
10718180138620 0 0197839 1064 1640refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121420190816
10854717938652 0 0197391 1064 1624refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019121420190816
11082991295796 0 0194772 984 1640refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019121420190816
11112173874404 0 0191183 1064 1624refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019121420190816
11320957766332 0 0196135 1048 1624refgcc2019121420190816
11324856484720 0 0195631 1064 1624refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019121420190816
11339340394064 0 0189999 1048 1608refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121420190816
11442032844720 0 0195631 1064 1624refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019121420190816
11595569725872 0 0194804 984 1640refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019121420190816
11764181105244 0 0193135 1064 1640refgcc_-O3_-fomit-frame-pointer2019121420190816
12150881268620 0 0198655 1064 1624refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019121420190816
12286539374064 0 0190063 1048 1608refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121420190816
12417646224720 0 0195631 1064 1624refgcc_-O_-fomit-frame-pointer2019121420190816
12535376008564 0 0197375 1064 1624refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121420190816
12539638168732 0 0197975 1064 1640refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019121420190816

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