Implementation notes: aarch64, supercoplxc, crypto_kem/r5n13kem0d

Computer: supercoplxc
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_kem
Primitive: r5n13kem0d
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
8407448031218 0 057810 952 1568optgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019113020190816
8460232025270 0 053594 952 1568optgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019113020190816
8477320025270 0 053594 952 1568avx2gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019113020190816
8489488030654 0 057602 952 1552avx2gcc_-funroll-loops_-O2_-fomit-frame-pointer2019113020190816
8491424031218 0 057810 952 1568avx2gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019113020190816
8494600031878 0 058130 952 1568avx2gcc_-funroll-loops_-O3_-fomit-frame-pointer2019113020190816
8499408030654 0 057602 952 1552optgcc_-funroll-loops_-O2_-fomit-frame-pointer2019113020190816
8500512030178 0 057490 952 1552avx2gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019113020190816
8507344030178 0 057490 952 1552optgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019113020190816
8515696031878 0 058130 952 1568optgcc_-funroll-loops_-O3_-fomit-frame-pointer2019113020190816
8516432023818 0 053993 864 1584avx2clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019113020190816
8517944023818 0 053993 864 1584avx2clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019113020190816
8522560023818 0 053993 864 1584optclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019113020190816
8525880024086 0 054089 864 1584avx2clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019113020190816
8526784024086 0 054089 864 1584optclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019113020190816
8526952023818 0 053993 864 1584optclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019113020190816
8568048023818 0 053993 864 1584optclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019113020190816
8575456025514 0 053674 952 1568optgcc_-O3_-fomit-frame-pointer2019113020190816
8595472023818 0 053929 864 1584optclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019113020190816
8600448025514 0 053674 952 1568avx2gcc_-O3_-fomit-frame-pointer2019113020190816
8614184023818 0 053993 864 1584avx2clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019113020190816
8619016023818 0 053929 864 1584avx2clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019113020190816
9358248019454 0 051274 952 1552optgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019113020190816
9374584017726 0 049896 936 1544avx2gcc_-funroll-loops_-Os_-fomit-frame-pointer2019113020190816
9383080019454 0 051274 952 1552avx2gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019113020190816
9384624017726 0 049896 936 1544avx2gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019113020190816
9392680017726 0 049896 936 1544optgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019113020190816
9394400019402 0 051370 952 1552optgcc_-O2_-fomit-frame-pointer2019113020190816
9398320017726 0 049896 936 1544optgcc_-funroll-loops_-Os_-fomit-frame-pointer2019113020190816
9409088017734 0 049848 936 1544optgcc_-Os_-fomit-frame-pointer2019113020190816
9421216017734 0 049848 936 1544avx2gcc_-Os_-fomit-frame-pointer2019113020190816
9439368017734 0 049848 936 1544optgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019113020190816
9446760017734 0 049848 936 1544avx2gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019113020190816
9520960019402 0 051370 952 1552avx2gcc_-O2_-fomit-frame-pointer2019113020190816
10041616032746 0 060530 952 1552avx2gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019113020190816
10069048032746 0 060530 952 1552optgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019113020190816
10132752032746 0 060530 952 1552optgcc_-funroll-loops_-O_-fomit-frame-pointer2019113020190816
10144392032746 0 060530 952 1552avx2gcc_-funroll-loops_-O_-fomit-frame-pointer2019113020190816
10951136020882 0 052506 952 1552avx2gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019113020190816
10959456020882 0 052506 952 1552optgcc_-O_-fomit-frame-pointer2019113020190816
10966064020882 0 052506 952 1552optgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019113020190816
10986888020882 0 052506 952 1552avx2gcc_-O_-fomit-frame-pointer2019113020190816
53352608038999 0 060234 936 1560avx2gcc_-funroll-loops2019113020190816
53466304038999 0 060234 936 1560optgcc_-funroll-loops2019113020190816
53711984038999 0 060234 936 1560optcc2019113020190816
53725864038999 0 060234 936 1560avx2cc2019113020190816
53881736038999 0 060234 936 1560optgcc2019113020190816
54600384038999 0 060234 936 1560avx2gcc2019113020190816
510755424030491 652 49666763 1608 2056refgcc_-O_-fomit-frame-pointer2019113020190816
514000432029503 652 49666211 1608 2056refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019113020190816
516678000029287 652 49666243 1608 2056refgcc_-O2_-fomit-frame-pointer2019113020190816
525067440030491 652 49666763 1608 2056refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019113020190816
525768080041471 652 49677715 1608 2056refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019113020190816
531630464040959 652 49676227 1608 2056refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019113020190816
533141840040999 652 49676139 1608 2056refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019113020190816
534264384041471 652 49677715 1608 2056refgcc_-funroll-loops_-O_-fomit-frame-pointer2019113020190816
534388848031453 648 50069254 1488 2088refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019113020190816
537501840031037 648 50069046 1488 2088refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019113020190816
538396024039429 652 49675235 1608 2072refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019113020190816
541159600031037 648 50069046 1488 2088refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019113020190816
543878088039485 652 49675379 1608 2072refgcc_-O3_-fomit-frame-pointer2019113020190816
545922856054801 652 49689259 1608 2072refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019113020190816
546162296031037 648 50069046 1488 2088refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019113020190816
547608744030961 648 50068918 1488 2088refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019113020190816
547649176054545 652 49689091 1608 2072refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019113020190816
548194296026616 652 49666653 1648 2048refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019113020190816
549556224026580 652 49666669 1648 2048refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019113020190816
552662008026580 652 49666669 1648 2048refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019113020190816
554441088026616 652 49666653 1648 2048refgcc_-Os_-fomit-frame-pointer2019113020190816
1052927248039968 652 49681671 1648 2056refcc2019113020190816
1086830496039968 652 49681671 1648 2056refgcc2019113020190816
1086886056039968 652 49681671 1648 2056refgcc_-funroll-loops2019113020190816

Compiler output

Implementation: avx2
Security model: unknown
Compiler: cc
a_fixed.c: In file included from a_fixed.h:13,
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,
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,
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,
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,
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,
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,
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,
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:
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:
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:
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:
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:
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:
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:
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,
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,
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: 19, 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

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: 5, 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
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx2