Implementation notes: aarch64, hikey960, crypto_kem/r5n15kem0d

Computer: hikey960
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_kem
Primitive: r5n15kem0d
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2580511528502 0 052151 920 1568optgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019121120190816
4204957521710 0 044591 920 1600avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019121120190816
4316512520902 0 044840 824 1584optclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019121120190816
4425570028502 0 052151 920 1568avx2gcc_-funroll-loops_-O_-fomit-frame-pointer2019121120190816
4880284921710 0 044591 920 1600optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019121120190816
5227267514374 0 041635 904 1568avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019121120190816
5235592516638 0 043759 920 1568avx2gcc_-O_-fomit-frame-pointer2019121120190816
5237257516534 0 043655 920 1568avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019121120190816
5476185016638 0 043759 920 1568optgcc_-O_-fomit-frame-pointer2019121120190816
5589416326970 0 049655 920 1568avx2gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121120190816
5827791231278 0 050423 920 1600optgcc_-funroll-loops_-O3_-fomit-frame-pointer2019121120190816
6022305014390 0 041659 904 1568optgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121120190816
6069836320902 0 044840 824 1584avx2clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019121120190816
7103530020902 0 044840 824 1584optclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019121120190816
7209903815270 0 042647 920 1568optgcc_-O2_-fomit-frame-pointer2019121120190816
7327930414390 0 041659 904 1568avx2gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121120190816
7365239014390 0 041635 904 1568avx2gcc_-Os_-fomit-frame-pointer2019121120190816
7366590014390 0 041635 904 1568optgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121120190816
7995673415174 0 042575 920 1568optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019121120190816
8084137031054 0 050431 920 1600optgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121120190816
8449361814390 0 041635 904 1568avx2gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121120190816
8740872027170 0 049591 920 1568avx2gcc_-funroll-loops_-O2_-fomit-frame-pointer2019121120190816
9030141815450 0 042655 920 1568avx2gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121120190816
10074210328502 0 052151 920 1568avx2gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019121120190816
14784865235803 0 051851 904 1568avx2cc2019121120190816
15531120027170 0 049591 920 1568optgcc_-funroll-loops_-O2_-fomit-frame-pointer2019121120190816
16043107521782 0 044711 920 1600optgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121120190816
16535115014390 0 041635 904 1568optgcc_-Os_-fomit-frame-pointer2019121120190816
17007142531054 0 050431 920 1600avx2gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121120190816
17147835014390 0 041659 904 1568optgcc_-funroll-loops_-Os_-fomit-frame-pointer2019121120190816
17237241615174 0 042575 920 1568avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019121120190816
17257725014390 0 041659 904 1568avx2gcc_-funroll-loops_-Os_-fomit-frame-pointer2019121120190816
17500003120902 0 044840 824 1584avx2clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019121120190816
17558257514374 0 041635 904 1568optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019121120190816
19225150328502 0 052151 920 1568optgcc_-funroll-loops_-O_-fomit-frame-pointer2019121120190816
19846800021782 0 044711 920 1600avx2gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121120190816
19925055016534 0 043655 920 1568optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019121120190816
20392920026970 0 049655 920 1568optgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121120190816
20587725021806 0 044671 920 1600avx2gcc_-O3_-fomit-frame-pointer2019121120190816
20819160021806 0 044671 920 1600optgcc_-O3_-fomit-frame-pointer2019121120190816
21285002731278 0 050423 920 1600avx2gcc_-funroll-loops_-O3_-fomit-frame-pointer2019121120190816
21399412520902 0 044840 824 1584avx2clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019121120190816
21528121920902 0 044816 824 1584avx2clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019121120190816
21729082515450 0 042655 920 1568optgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121120190816
22085392520902 0 044840 824 1584optclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019121120190816
22111358215270 0 042647 920 1568avx2gcc_-O2_-fomit-frame-pointer2019121120190816
23909400035803 0 051851 904 1568optgcc2019121120190816
24464677516638 0 043759 920 1568avx2gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019121120190816
25597710035803 0 051851 904 1568avx2gcc_-funroll-loops2019121120190816
26011462516638 0 043759 920 1568optgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019121120190816
27704767535803 0 051851 904 1568avx2gcc2019121120190816
29532937535803 0 051851 904 1568optcc2019121120190816
30172617220902 0 044816 824 1584optclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019121120190816
61635583835803 0 051851 904 1568optgcc_-funroll-loops2019121120190816
260006251232353 648 50062138 1504 2096refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019121120190816
268522675724891 652 49658145 1632 2064refgcc_-O2_-fomit-frame-pointer2019121120190816
276437183437139 652 49670289 1632 2064refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019121120190816
277685244937139 652 49670289 1632 2064refgcc_-funroll-loops_-O_-fomit-frame-pointer2019121120190816
282845379623465 652 49656533 1616 2064refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121120190816
282854788723465 652 49656533 1616 2064refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019121120190816
487890787532353 648 50062138 1504 2096refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019121120190816
513490162555641 652 49684841 1632 2096refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019121120190816
517054095037751 652 49670065 1632 2064refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019121120190816
517085813737575 652 49670033 1632 2064refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121120190816
522919890038121 652 49670449 1632 2096refgcc_-O3_-fomit-frame-pointer2019121120190816
527266430223457 652 49656549 1616 2064refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019121120190816
529197772538001 652 49670305 1632 2096refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121120190816
529360419238217 652 49670569 1632 2096refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019121120190816
638609904655409 652 49684761 1632 2096refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121120190816
671853268825611 652 49658449 1632 2064refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019121120190816
735738773032353 648 50062138 1504 2096refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019121120190816
736980557532289 648 50062050 1504 2096refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019121120190816
745552609325627 652 49658457 1632 2064refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019121120190816
768709865823465 652 49656533 1616 2064refgcc_-Os_-fomit-frame-pointer2019121120190816
818162685036452 652 49672149 1616 2064refgcc2019121120190816
818171370636452 652 49672149 1616 2064refgcc_-funroll-loops2019121120190816
1209503452523457 652 49656549 1616 2064refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121120190816
1235570179036452 652 49672149 1616 2064refcc2019121120190816
1239265327524995 652 49658089 1632 2064refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121120190816
1374357743424883 652 49658153 1632 2064refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019121120190816
1398922863625611 652 49658449 1632 2064refgcc_-O_-fomit-frame-pointer2019121120190816

Compiler output

Implementation: avx2
Security model: unknown
Compiler: cc
a_fixed.c: In file included from a_fixed.h:13:0,
a_fixed.c: from a_fixed.c:10:
a_fixed.c: r5_parameter_sets.h:142:2: warning: #warning AVX2 not supported by platform [-Wcpp]
a_fixed.c: #warning AVX2 not supported by platform
a_fixed.c: ^~~~~~~
a_random.c: In file included from a_random.h:13:0,
a_random.c: from a_random.c:10:
a_random.c: r5_parameter_sets.h:142:2: warning: #warning AVX2 not supported by platform [-Wcpp]
a_random.c: #warning AVX2 not supported by platform
a_random.c: ^~~~~~~
cca_encrypt.c: In file included from cca_encrypt.h:14:0,
cca_encrypt.c: from cca_encrypt.c:11:
cca_encrypt.c: r5_parameter_sets.h:142:2: warning: #warning AVX2 not supported by platform [-Wcpp]
cca_encrypt.c: #warning AVX2 not supported by platform
cca_encrypt.c: ^~~~~~~
cpa_kem.c: In file included from cpa_kem.h:13:0,
cpa_kem.c: from cpa_kem.c:12:
cpa_kem.c: r5_parameter_sets.h:142:2: warning: #warning AVX2 not supported by platform [-Wcpp]
cpa_kem.c: #warning AVX2 not supported by platform
cpa_kem.c: ^~~~~~~
drbg.c: In file included from drbg.h:13:0,
drbg.c: from drbg.c:18:
drbg.c: r5_parameter_sets.h:142:2: warning: #warning AVX2 not supported by platform [-Wcpp]
drbg.c: #warning AVX2 not supported by platform
drbg.c: ^~~~~~~
matmul.c: In file included from matmul.h:8:0,
matmul.c: from matmul.c:8:
matmul.c: r5_parameter_sets.h:142:2: warning: #warning AVX2 not supported by platform [-Wcpp]
matmul.c: #warning AVX2 not supported by platform
matmul.c: ^~~~~~~
matmul_avx2.c: In file included from matmul.h:8:0,
matmul_avx2.c: from matmul_avx2.c:8:
matmul_avx2.c: r5_parameter_sets.h:142:2: warning: #warning AVX2 not supported by platform [-Wcpp]
matmul_avx2.c: #warning AVX2 not supported by platform
matmul_avx2.c: ^~~~~~~
matmul_cm.c: In file included from matmul.h:8:0,
matmul_cm.c: from matmul_cm.c:7:
matmul_cm.c: r5_parameter_sets.h:142:2: warning: #warning AVX2 not supported by platform [-Wcpp]
matmul_cm.c: #warning AVX2 not supported by platform
matmul_cm.c: ^~~~~~~
probe_cm.c: In file included from probe_cm.c:6:0:
probe_cm.c: r5_parameter_sets.h:142:2: warning: #warning AVX2 not supported by platform [-Wcpp]
probe_cm.c: #warning AVX2 not supported by platform
probe_cm.c: ^~~~~~~
r5_cca_kem.c: In file included from r5_cca_kem.c:7:0:
r5_cca_kem.c: r5_parameter_sets.h:142:2: warning: #warning AVX2 not supported by platform [-Wcpp]
r5_cca_kem.c: #warning AVX2 not supported by platform
r5_cca_kem.c: ^~~~~~~
r5_cca_pke.c: In file included from r5_cca_pke.c:12:0:
r5_cca_pke.c: r5_parameter_sets.h:142:2: warning: #warning AVX2 not supported by platform [-Wcpp]
r5_cca_pke.c: #warning AVX2 not supported by platform
r5_cca_pke.c: ^~~~~~~
r5_cpa_kem.c: In file included from r5_cpa_kem.c:9:0:
r5_cpa_kem.c: r5_parameter_sets.h:142:2: warning: #warning AVX2 not supported by platform [-Wcpp]
r5_cpa_kem.c: #warning AVX2 not supported by platform
r5_cpa_kem.c: ^~~~~~~
r5_cpa_pke_n1.c: In file included from r5_cpa_pke_n1.c:6:0:
r5_cpa_pke_n1.c: r5_parameter_sets.h:142:2: warning: #warning AVX2 not supported by platform [-Wcpp]
r5_cpa_pke_n1.c: #warning AVX2 not supported by platform
r5_cpa_pke_n1.c: ^~~~~~~
r5_cpa_pke_nd.c: In file included from r5_cpa_pke_nd.c:7:0:
r5_cpa_pke_nd.c: r5_parameter_sets.h:142:2: warning: #warning AVX2 not supported by platform [-Wcpp]
r5_cpa_pke_nd.c: #warning AVX2 not supported by platform
r5_cpa_pke_nd.c: ^~~~~~~
r5_dem.c: In file included from r5_dem.c:11:0:
r5_dem.c: r5_parameter_sets.h:142:2: warning: #warning AVX2 not supported by platform [-Wcpp]
r5_dem.c: #warning AVX2 not supported by platform
r5_dem.c: ^~~~~~~
ringmul.c: In file included from ringmul.h:9:0,
ringmul.c: from ringmul.c:8:
ringmul.c: r5_parameter_sets.h:142:2: warning: #warning AVX2 not supported by platform [-Wcpp]
ringmul.c: #warning AVX2 not supported by platform
ringmul.c: ^~~~~~~
ringmul_cm.c: In file included from ringmul.h:9:0,
ringmul_cm.c: from ringmul_cm.c:8:
ringmul_cm.c: r5_parameter_sets.h:142:2: warning: #warning AVX2 not supported by platform [-Wcpp]
ringmul_cm.c: #warning AVX2 not supported by platform
ringmul_cm.c: ^~~~~~~

Number of similar (compiler,implementation) pairs: 23, namely:
CompilerImplementations
cc avx2
gcc avx2
gcc -O2 -fomit-frame-pointer avx2
gcc -O3 -fomit-frame-pointer avx2
gcc -O -fomit-frame-pointer avx2
gcc -Os -fomit-frame-pointer avx2
gcc -fno-schedule-insns -O2 -fomit-frame-pointer avx2
gcc -fno-schedule-insns -O3 -fomit-frame-pointer avx2
gcc -fno-schedule-insns -O -fomit-frame-pointer avx2
gcc -fno-schedule-insns -Os -fomit-frame-pointer avx2
gcc -funroll-loops avx2
gcc -funroll-loops -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -O -fomit-frame-pointer avx2
gcc -funroll-loops -Os -fomit-frame-pointer avx2
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer avx2
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer avx2
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv avx2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv avx2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv avx2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv avx2

Compiler output

Implementation: avx2
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
a_fixed.c: In file included from a_fixed.c:10:
a_fixed.c: In file included from ./a_fixed.h:13:
a_fixed.c: ./r5_parameter_sets.h:142:2: warning: AVX2 not supported by platform [-W#warnings]
a_fixed.c: #warning AVX2 not supported by platform
a_fixed.c: ^
a_fixed.c: 1 warning generated.
a_random.c: In file included from a_random.c:10:
a_random.c: In file included from ./a_random.h:13:
a_random.c: ./r5_parameter_sets.h:142:2: warning: AVX2 not supported by platform [-W#warnings]
a_random.c: #warning AVX2 not supported by platform
a_random.c: ^
a_random.c: 1 warning generated.
cca_encrypt.c: In file included from cca_encrypt.c:11:
cca_encrypt.c: In file included from ./cca_encrypt.h:14:
cca_encrypt.c: ./r5_parameter_sets.h:142:2: warning: AVX2 not supported by platform [-W#warnings]
cca_encrypt.c: #warning AVX2 not supported by platform
cca_encrypt.c: ^
cca_encrypt.c: 1 warning generated.
cpa_kem.c: In file included from cpa_kem.c:12:
cpa_kem.c: In file included from ./cpa_kem.h:13:
cpa_kem.c: ./r5_parameter_sets.h:142:2: warning: AVX2 not supported by platform [-W#warnings]
cpa_kem.c: #warning AVX2 not supported by platform
cpa_kem.c: ^
cpa_kem.c: 1 warning generated.
drbg.c: In file included from drbg.c:18:
drbg.c: In file included from ./drbg.h:13:
drbg.c: ./r5_parameter_sets.h:142:2: warning: AVX2 not supported by platform [-W#warnings]
drbg.c: #warning AVX2 not supported by platform
drbg.c: ^
drbg.c: 1 warning generated.
matmul.c: In file included from matmul.c:8:
matmul.c: In file included from ./matmul.h:8:
matmul.c: ./r5_parameter_sets.h:142:2: warning: AVX2 not supported by platform [-W#warnings]
matmul.c: #warning AVX2 not supported by platform
matmul.c: ^
matmul.c: 1 warning generated.
matmul_avx2.c: In file included from matmul_avx2.c:8:
matmul_avx2.c: In file included from ./matmul.h:8:
matmul_avx2.c: ./r5_parameter_sets.h:142:2: warning: AVX2 not supported by platform [-W#warnings]
matmul_avx2.c: #warning AVX2 not supported by platform
matmul_avx2.c: ^
matmul_avx2.c: 1 warning generated.
matmul_cm.c: In file included from matmul_cm.c:7:
matmul_cm.c: In file included from ./matmul.h:8:
matmul_cm.c: ./r5_parameter_sets.h:142:2: warning: AVX2 not supported by platform [-W#warnings]
matmul_cm.c: #warning AVX2 not supported by platform
matmul_cm.c: ^
matmul_cm.c: 1 warning generated.
probe_cm.c: In file included from probe_cm.c:6:
probe_cm.c: ./r5_parameter_sets.h:142:2: warning: AVX2 not supported by platform [-W#warnings]
probe_cm.c: #warning AVX2 not supported by platform
probe_cm.c: ^
probe_cm.c: 1 warning generated.
r5_cca_kem.c: In file included from r5_cca_kem.c:7:
r5_cca_kem.c: ./r5_parameter_sets.h:142:2: warning: AVX2 not supported by platform [-W#warnings]
r5_cca_kem.c: #warning AVX2 not supported by platform
r5_cca_kem.c: ^
r5_cca_kem.c: 1 warning generated.
r5_cca_pke.c: In file included from r5_cca_pke.c:12:
r5_cca_pke.c: ./r5_parameter_sets.h:142:2: warning: AVX2 not supported by platform [-W#warnings]
r5_cca_pke.c: #warning AVX2 not supported by platform
r5_cca_pke.c: ^
r5_cca_pke.c: 1 warning generated.
r5_cpa_kem.c: In file included from r5_cpa_kem.c:9:
r5_cpa_kem.c: ./r5_parameter_sets.h:142:2: warning: AVX2 not supported by platform [-W#warnings]
r5_cpa_kem.c: #warning AVX2 not supported by platform
r5_cpa_kem.c: ^
r5_cpa_kem.c: 1 warning generated.
r5_cpa_pke_n1.c: In file included from r5_cpa_pke_n1.c:6:
r5_cpa_pke_n1.c: ./r5_parameter_sets.h:142:2: warning: AVX2 not supported by platform [-W#warnings]
r5_cpa_pke_n1.c: #warning AVX2 not supported by platform
r5_cpa_pke_n1.c: ^
r5_cpa_pke_n1.c: 1 warning generated.
r5_cpa_pke_nd.c: In file included from r5_cpa_pke_nd.c:7:
r5_cpa_pke_nd.c: ./r5_parameter_sets.h:142:2: warning: AVX2 not supported by platform [-W#warnings]
r5_cpa_pke_nd.c: #warning AVX2 not supported by platform
r5_cpa_pke_nd.c: ^
r5_cpa_pke_nd.c: 1 warning generated.
r5_dem.c: In file included from r5_dem.c:11:
r5_dem.c: ./r5_parameter_sets.h:142:2: warning: AVX2 not supported by platform [-W#warnings]
r5_dem.c: #warning AVX2 not supported by platform
r5_dem.c: ^
r5_dem.c: 1 warning generated.
ringmul.c: In file included from ringmul.c:8:
ringmul.c: In file included from ./ringmul.h:9:
ringmul.c: ./r5_parameter_sets.h:142:2: warning: AVX2 not supported by platform [-W#warnings]
ringmul.c: #warning AVX2 not supported by platform
ringmul.c: ^
ringmul.c: 1 warning generated.
ringmul_cm.c: In file included from ringmul_cm.c:8:
ringmul_cm.c: In file included from ./ringmul.h:9:
ringmul_cm.c: ./r5_parameter_sets.h:142:2: warning: AVX2 not supported by platform [-W#warnings]
ringmul_cm.c: #warning AVX2 not supported by platform
ringmul_cm.c: ^
ringmul_cm.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments avx2
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments avx2
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments avx2
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments avx2