Implementation notes: aarch64, hikey960, crypto_kem/mceliece460896f

Computer: hikey960
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_kem
Primitive: mceliece460896f
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
135021696400 0 0121838 976 1568vecgcc_-funroll-loops_-O2_-fomit-frame-pointer2019121020190816
1412397241548 0 0267166 976 1600vecgcc_-funroll-loops_-O3_-fomit-frame-pointer2019121020190816
161688856980 0 079358 976 1568vecgcc_-O2_-fomit-frame-pointer2019121020190816
164354062096 0 085495 880 1584vecclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019121020190816
1656675164728 0 0188574 976 1600vecgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019121020190816
1689975176064 0 0200094 976 1600vecgcc_-O3_-fomit-frame-pointer2019121020190816
183150099788 0 0125438 976 1568vecgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019121020190816
227404896972 0 0122350 976 1568vecgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121020190816
2564100241020 0 0266654 976 1600vecgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121020190816
2589075175444 0 0199326 976 1600vecgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121020190816
280632061232 0 084727 880 1584vecclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019121020190816
305147957376 0 079614 976 1568vecgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121020190816
309236661232 0 084727 880 1584vecclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019121020190816
312225048672 0 070202 960 1568vecgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121020190816
312225048748 0 070458 960 1568vecgcc_-funroll-loops_-Os_-fomit-frame-pointer2019121020190816
316350048748 0 070458 960 1568vecgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121020190816
347152558120 0 080638 976 1568vecgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019121020190816
348817558120 0 080638 976 1568vecgcc_-O_-fomit-frame-pointer2019121020190816
350482548720 0 070458 960 1568vecgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019121020190816
444555061232 0 084727 880 1584vecclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019121020190816
452093856196 0 078590 976 1568vecgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019121020190816
459540099788 0 0125438 976 1568vecgcc_-funroll-loops_-O_-fomit-frame-pointer2019121020190816
486031058144 0 080638 976 1568vecgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019121020190816
822510048672 0 070202 960 1568vecgcc_-Os_-fomit-frame-pointer2019121020190816
1965593388118 0 0113594 960 1568veccc2019121020190816
5160871188118 0 0113594 960 1568vecgcc2019121020190816
6005655088118 0 0113594 960 1568vecgcc_-funroll-loops2019121020190816
86547069100464 0 0124408 984 1600refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019120920190816
12224784617828 0 041383 880 1584refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019121020190816
131135400166920 0 0192504 984 1600refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019120920190816
139463253165132 0 0190712 984 1600refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121020190816
15705357310516 0 032250 960 1568refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019121020190816
16040033111892 0 034238 976 1568refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019120920190816
16632517535180 0 060590 976 1568refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121020190816
166932581106580 0 0130552 984 1600refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019121020190816
18760249235580 0 060846 976 1568refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019121020190816
19010970035220 0 060862 976 1568refgcc_-funroll-loops_-O_-fomit-frame-pointer2019121020190816
21192695935220 0 060862 976 1568refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019121020190816
22902075017828 0 041383 880 1584refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019121020190816
262970100108520 0 0132600 984 1600refgcc_-O3_-fomit-frame-pointer2019120920190816
28620517510444 0 031994 960 1568refgcc_-Os_-fomit-frame-pointer2019120920190816
29656980012656 0 035006 976 1568refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019121020190816
30235567512656 0 035006 976 1568refgcc_-O_-fomit-frame-pointer2019120920190816
40381596918332 0 041639 880 1584refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019121020190816
40622651310560 0 032250 960 1568refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019120920190816
41366925017828 0 041383 880 1584refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019121020190816
43002603010444 0 031994 960 1568refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121020190816
45984916611916 0 034238 976 1568refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019121020190816
50914648212668 0 035006 976 1568refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019120920190816
70046550027152 0 052570 960 1568refgcc_-funroll-loops2019121020190816
77051718127152 0 052570 960 1568refgcc2019120920190816
84619286811852 0 034238 976 1568refgcc_-O2_-fomit-frame-pointer2019120920190816
87625707510516 0 032250 960 1568refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019121020190816

Test failure

Implementation: ref
Security model: unknown
Compiler: cc
error 142
Alarm clock

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
cc ref

Compiler output

Implementation: avx
Security model: unknown
Compiler: cc
benes.c: In file included from benes.h:8:0,
benes.c: from benes.c:5:
benes.c: vec128.h:12:23: fatal error: smmintrin.h: No such file or directory
benes.c: #include <smmintrin.h>
benes.c: ^
benes.c: compilation terminated.

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

Compiler output

Implementation: avx
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
benes.c: In file included from benes.c:5:
benes.c: In file included from ./benes.h:8:
benes.c: In file included from ./vec128.h:12:
benes.c: In file included from /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/smmintrin.h:27:
benes.c: In file included from /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/tmmintrin.h:27:
benes.c: In file included from /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/pmmintrin.h:27:
benes.c: In file included from /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/emmintrin.h:27:
benes.c: In file included from /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/xmmintrin.h:27:
benes.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:45:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
benes.c: return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
benes.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
benes.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:69:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
benes.c: return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
benes.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
benes.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:75:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
benes.c: return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
benes.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
benes.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:81:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
benes.c: return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
benes.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
benes.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:87:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
benes.c: return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
benes.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
benes.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:93:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
benes.c: return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
benes.c: ...

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