Implementation notes: aarch64, hikey960, crypto_aead/deoxysneq128128v1

Computer: hikey960
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: deoxysneq128128v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
69930024516 0 037456 816 880refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112820190816
69930024560 0 037520 816 880refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112820190816
75350326033 0 040115 944 896refgcc_-O3_-fomit-frame-pointer2019112820190816
81585026305 0 040339 944 896refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
82611926553 0 042211 944 896refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
87941724560 0 037520 816 880refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112820190816
107479026069 0 040147 944 896refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112820190816
122392227265 0 042731 944 864refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
133245023533 0 035939 944 864refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
140293126193 0 041891 944 896refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019112820190816
224322025645 0 041387 944 864refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
225674923557 0 036027 944 864refgcc_-O2_-fomit-frame-pointer2019112820190816
228132422713 0 035259 944 864refgcc_-O_-fomit-frame-pointer2019112820190816
261709027313 0 042747 944 864refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019112820190816
286731122288 0 033991 928 864refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
298487124560 0 037520 816 880refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112820190816
314855322288 0 034015 928 864refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
365467523601 0 036067 944 864refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112820190816
367132522673 0 035219 944 864refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112820190816
487845022288 0 034015 928 864refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019112820190816
534465022304 0 034007 928 864refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112820190816
544455025645 0 041387 944 864refgcc_-funroll-loops_-O_-fomit-frame-pointer2019112820190816
637695022713 0 035259 944 864refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
755367822288 0 033991 928 864refgcc_-Os_-fomit-frame-pointer2019112820190816
976365537001 0 053751 928 864refcc2019112820190816
976365537001 0 053751 928 864refgcc_-funroll-loops2019112820190816
2226347237001 0 053751 928 864refgcc2019112820190816

Compiler output

Implementation: opt
Security model: unknown
Compiler: cc
deoxys.c: deoxys.c:27:74: fatal error: xmmintrin.h: No such file or directory
deoxys.c: #include <xmmintrin.h> /* SSE instructions and _mm_malloc */
deoxys.c: ^
deoxys.c: compilation terminated.

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

Compiler output

Implementation: opt
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
deoxys.c: In file included from deoxys.c:27:
deoxys.c: In file included from /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/xmmintrin.h:27:
deoxys.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
deoxys.c: return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
deoxys.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys.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
deoxys.c: return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
deoxys.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys.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
deoxys.c: return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
deoxys.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys.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
deoxys.c: return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
deoxys.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys.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
deoxys.c: return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
deoxys.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys.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
deoxys.c: return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
deoxys.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:99:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
deoxys.c: return (__m64)__builtin_ia32_punpckhdq((__v2si)__m1, (__v2si)__m2);
deoxys.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:105:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
deoxys.c: return (__m64)__builtin_ia32_punpcklbw((__v8qi)__m1, (__v8qi)__m2);
deoxys.c: ...

Number of similar (compiler,implementation) pairs: 4, 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