Implementation notes: aarch64, hikey960, crypto_encrypt/r5nd3pke0d

Computer: hikey960
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_encrypt
Primitive: r5nd3pke0d
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
56851220148 0 047849 936 1608avx2clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019121220190816
87412526936 0 055113 1056 1624avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019121220190816
101993538456 0 063729 1056 1624avx2gcc_-funroll-loops_-O3_-fomit-frame-pointer2019121220190816
102397538160 0 063657 1056 1624avx2gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121220190816
103230038160 0 063657 1056 1624optgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121220190816
104062526584 0 054809 1056 1624avx2gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121220190816
104062526624 0 054785 1056 1624optgcc_-O3_-fomit-frame-pointer2019121220190816
106560020148 0 047849 936 1608optclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019121220190816
107392520148 0 047833 936 1608avx2clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019121220190816
124042520148 0 047849 936 1608optclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019121220190816
132356727680 0 054545 1056 1592avx2gcc_-funroll-loops_-O2_-fomit-frame-pointer2019121220190816
170553613548 0 044189 1040 1592optgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121220190816
201320820148 0 047849 936 1608optclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019121220190816
225674938456 0 063729 1056 1624optgcc_-funroll-loops_-O3_-fomit-frame-pointer2019121220190816
233100014404 0 045305 1056 1592avx2gcc_-O2_-fomit-frame-pointer2019121220190816
238095020148 0 047849 936 1608avx2clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019121220190816
238927527420 0 054545 1056 1592avx2gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121220190816
238927526904 0 055025 1056 1592optgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019121220190816
239760026904 0 055025 1056 1592avx2gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019121220190816
242257526936 0 055113 1056 1624optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019121220190816
246420027680 0 054545 1056 1592optgcc_-funroll-loops_-O2_-fomit-frame-pointer2019121220190816
259740026584 0 054809 1056 1624optgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121220190816
278055014528 0 045257 1056 1592optgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121220190816
278887514528 0 045257 1056 1592avx2gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121220190816
279720014736 0 045385 1056 1592optgcc_-O_-fomit-frame-pointer2019121220190816
319680013548 0 044205 1040 1592avx2gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121220190816
319680013540 0 044205 1040 1592optgcc_-funroll-loops_-Os_-fomit-frame-pointer2019121220190816
322726820148 0 047849 936 1608avx2clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019121220190816
327110020148 0 047833 936 1608optclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019121220190816
330911914740 0 045393 1056 1592avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019121220190816
332081226624 0 054785 1056 1624avx2gcc_-O3_-fomit-frame-pointer2019121220190816
390546214364 0 045289 1056 1592avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019121220190816
449011213548 0 044205 1040 1592avx2gcc_-Os_-fomit-frame-pointer2019121220190816
450180513548 0 044189 1040 1592optgcc_-Os_-fomit-frame-pointer2019121220190816
451349813540 0 044221 1040 1592avx2gcc_-funroll-loops_-Os_-fomit-frame-pointer2019121220190816
452880014740 0 045393 1056 1592optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019121220190816
490342527420 0 054545 1056 1592optgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121220190816
493444613540 0 044205 1040 1592optgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121220190816
532091731873 0 052645 1040 1592avx2gcc_-funroll-loops2019121220190816
615707726904 0 055025 1056 1592optgcc_-funroll-loops_-O_-fomit-frame-pointer2019121220190816
637695014736 0 045385 1056 1592avx2gcc_-O_-fomit-frame-pointer2019121220190816
638527514736 0 045385 1056 1592optgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019121220190816
649350014736 0 045385 1056 1592avx2gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019121220190816
690142514364 0 045289 1056 1592optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019121220190816
833016313532 0 044189 1040 1592optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019121220190816
838327513540 0 044221 1040 1592avx2gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121220190816
864967513532 0 044205 1040 1592avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019121220190816
879313626904 0 055025 1056 1592avx2gcc_-funroll-loops_-O_-fomit-frame-pointer2019121220190816
919069814404 0 045305 1056 1592optgcc_-O2_-fomit-frame-pointer2019121220190816
996502531873 0 052645 1040 1592avx2gcc2019121220190816
1002330031873 0 052645 1040 1592avx2cc2019121220190816
1405498631873 0 052645 1040 1592optgcc_-funroll-loops2019121220190816
1962202537623 652 49675525 1760 2088refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121220190816
1995502537799 652 49675573 1760 2088refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019121220190816
2295202555641 652 49691973 1760 2120refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019121220190816
2674189155417 652 49691869 1760 2120refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121220190816
2864632538225 652 49676877 1760 2120refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019121220190816
2914516338121 652 49676749 1760 2120refgcc_-O3_-fomit-frame-pointer2019121220190816
2946217525043 652 49662637 1760 2088refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121220190816
3168495032401 648 50067261 1608 2120refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019121220190816
3231765023505 652 49660873 1744 2088refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019121220190816
3262567523513 652 49660857 1744 2088refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121220190816
3267562532337 648 50067173 1608 2120refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019121220190816
3351645031873 0 052645 1040 1592optcc2019121220190816
3469027531873 0 052645 1040 1592optgcc2019121220190816
4091380724939 652 49662701 1760 2088refgcc_-O2_-fomit-frame-pointer2019121220190816
4119443938009 652 49676597 1760 2120refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121220190816
4187344037187 652 49676005 1760 2088refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019121220190816
4210649325659 652 49663221 1760 2088refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019121220190816
4216495825659 652 49663221 1760 2088refgcc_-O_-fomit-frame-pointer2019121220190816
4217665137187 652 49676005 1760 2088refgcc_-funroll-loops_-O_-fomit-frame-pointer2019121220190816
4224731024931 652 49662709 1760 2088refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019121220190816
4486440032401 648 50067261 1608 2120refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019121220190816
4536884023505 652 49660873 1744 2088refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121220190816
4561214023513 652 49660857 1744 2088refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019121220190816
6391935025675 652 49663253 1760 2088refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019121220190816
6668709723513 652 49660857 1744 2088refgcc_-Os_-fomit-frame-pointer2019121220190816
8961515232401 648 50067261 1608 2120refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019121220190816
12127979636484 652 49677897 1744 2088refcc2019121220190816
31675792536484 652 49677897 1744 2088refgcc_-funroll-loops2019121220190816
33083550036484 652 49677897 1744 2088refgcc2019121220190816

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:140: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:140: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:12:
cca_encrypt.c: r5_parameter_sets.h:140: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:11:
cpa_kem.c: r5_parameter_sets.h:140: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:140: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:140: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:140: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:140: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:140: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:140: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:140: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:140: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:140: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:140: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:140: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:140: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:140: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:140: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:140: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:12:
cca_encrypt.c: In file included from ./cca_encrypt.h:14:
cca_encrypt.c: ./r5_parameter_sets.h:140: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:11:
cpa_kem.c: In file included from ./cpa_kem.h:13:
cpa_kem.c: ./r5_parameter_sets.h:140: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:140: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:140: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:140: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:140: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:140: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:140: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:140: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:140: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:140: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:140: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:140: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:140: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:140: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