Implementation notes: aarch64, rockpi4, crypto_kem/oddmanhattan256

Computer: rockpi4
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20190816
Operation: crypto_kem
Primitive: oddmanhattan256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
8566941604732 0 0194127 1048 1608optgcc_-Os_-fomit-frame-pointer2019121420190816
8686368815140 0 0195487 1064 1624optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019121420190816
8697292665776 0 0197215 1064 1640optgcc_-O3_-fomit-frame-pointer2019121420190816
8759056815824 0 0197359 1064 1640optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019121420190816
10902241844724 0 0194159 1048 1608optgcc_-funroll-loops_-Os_-fomit-frame-pointer2019121420190816
114088937210744 0 0204223 1064 1624optgcc_-funroll-loops_-O_-fomit-frame-pointer2019121420190816
11822641258580 0 0201815 1048 1624optgcc2019121420190816
13790235208580 0 0201815 1048 1624optcc2019121420190816
13806424805460 0 0195719 1064 1624optgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019121420190816
14297688308180 0 0200660 984 1640optclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019121420190816
143074185810780 0 0203559 1064 1640optgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121420190816
144792926610676 0 0203063 1064 1624optgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121420190816
148216779210744 0 0204223 1064 1624optgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019121420190816
17515553028180 0 0200660 984 1640optclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019121420190816
20035968128280 0 0200660 984 1640optclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019121420190816
20354919765460 0 0195719 1064 1624optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019121420190816
20545750544736 0 0194127 1048 1608optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019121420190816
22145146734724 0 0194159 1048 1608optgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121420190816
22331595588180 0 0200660 984 1640optclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019121420190816
23048555325768 0 0197199 1064 1640optgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121420190816
230949104410836 0 0203639 1064 1640optgcc_-funroll-loops_-O3_-fomit-frame-pointer2019121420190816
23363984075460 0 0195719 1064 1624optgcc_-O_-fomit-frame-pointer2019121420190816
234007575910708 0 0203007 1064 1624optgcc_-funroll-loops_-O2_-fomit-frame-pointer2019121420190816
23467382758580 0 0201815 1048 1624optgcc_-funroll-loops2019121420190816
24523890445108 0 0195359 1064 1624optgcc_-O2_-fomit-frame-pointer2019121420190816
25630115074732 0 0194127 1048 1608optgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121420190816
25997759418196 0 0200612 984 1640optclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019121420190816
27187410045100 0 0195287 1064 1624optgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121420190816
34291249586196 0 0195236 984 1640refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019121420190816
39208658865024 0 0193015 1064 1640refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121420190816
40055787944076 0 0190063 1048 1608refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019121420190816
40129983395056 0 0193071 1064 1640refgcc_-O3_-fomit-frame-pointer2019121420190816
40858734288588 0 0197455 1064 1624refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019121420190816
41358922716196 0 0195236 984 1640refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019121420190816
41716332916156 0 0195959 1048 1624refcc2019121420190816
42856547446156 0 0195959 1048 1624refgcc_-funroll-loops2019121420190816
43336077618500 0 0197447 1064 1624refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121420190816
45190348494080 0 0190015 1048 1608refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019121420190816
45639209286196 0 0195236 984 1640refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019121420190816
46365126994076 0 0190015 1048 1608refgcc_-Os_-fomit-frame-pointer2019121420190816
46922685254728 0 0191551 1064 1624refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019121420190816
48878892796196 0 0195172 984 1640refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019121420190816
51178175308664 0 0198703 1064 1624refgcc_-funroll-loops_-O_-fomit-frame-pointer2019121420190816
54389126406156 0 0195959 1048 1624refgcc2019121420190816
55791302704396 0 0191207 1064 1624refgcc_-O2_-fomit-frame-pointer2019121420190816
56197814478700 0 0198071 1064 1640refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019121420190816
58855151464728 0 0191551 1064 1624refgcc_-O_-fomit-frame-pointer2019121420190816
59022651874372 0 0191135 1064 1624refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121420190816
59336180824728 0 0191551 1064 1624refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019121420190816
59395979095096 0 0193199 1064 1640refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019121420190816
59793136416264 0 0195204 984 1640refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019121420190816
60030516424076 0 0190015 1048 1608refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121420190816
60267987298604 0 0197935 1064 1640refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121420190816
60465198924428 0 0191335 1064 1624refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019121420190816
61744805084076 0 0190063 1048 1608refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121420190816
61811273308664 0 0198703 1064 1624refgcc_-funroll-loops_-fno-schedule-insns_-O_-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