Implementation notes: aarch64, hikey960, crypto_aead/deoxysneq256128v1

Computer: hikey960
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: deoxysneq256128v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
55302924548 0 037512 816 880refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112820190816
103230024548 0 037512 816 880refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112820190816
104062524548 0 037512 816 880refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112820190816
106596026329 0 040371 944 896refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
111984724504 0 037448 816 880refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112820190816
116550026233 0 041939 944 896refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019112820190816
185647527281 0 042755 944 864refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
188977526577 0 042243 944 896refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
189810026109 0 040195 944 896refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112820190816
265431126073 0 040163 944 896refgcc_-O3_-fomit-frame-pointer2019112820190816
267232523589 0 036067 944 864refgcc_-O2_-fomit-frame-pointer2019112820190816
268897523617 0 036091 944 864refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112820190816
271843923565 0 035979 944 864refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
278887525669 0 041419 944 864refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
278921025669 0 041419 944 864refgcc_-funroll-loops_-O_-fomit-frame-pointer2019112820190816
299872127345 0 042787 944 864refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019112820190816
352147522312 0 034023 928 864refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
515661322737 0 035291 944 864refgcc_-O_-fomit-frame-pointer2019112820190816
864135022316 0 034047 928 864refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019112820190816
865800022316 0 034047 928 864refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
919852822312 0 034023 928 864refgcc_-Os_-fomit-frame-pointer2019112820190816
1007446022737 0 035291 944 864refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
1010655022717 0 035275 944 864refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112820190816
1187145037009 0 053767 928 864refgcc_-funroll-loops2019112820190816
1308545022328 0 034039 928 864refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112820190816
2133697537009 0 053767 928 864refgcc2019112820190816
3683295037009 0 053767 928 864refcc2019112820190816

Compiler output

Implementation: opt
Security model: unknown
Compiler: cc
deoxys-256.c: deoxys-256.c:26:74: fatal error: xmmintrin.h: No such file or directory
deoxys-256.c: #include <xmmintrin.h> /* SSE instructions and _mm_malloc */
deoxys-256.c: ^
deoxys-256.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-256.c: In file included from deoxys-256.c:26:
deoxys-256.c: In file included from /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/xmmintrin.h:27:
deoxys-256.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-256.c: return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
deoxys-256.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys-256.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-256.c: return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
deoxys-256.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys-256.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-256.c: return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
deoxys-256.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys-256.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-256.c: return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
deoxys-256.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys-256.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-256.c: return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
deoxys-256.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys-256.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-256.c: return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
deoxys-256.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys-256.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-256.c: return (__m64)__builtin_ia32_punpckhdq((__v2si)__m1, (__v2si)__m2);
deoxys-256.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys-256.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-256.c: return (__m64)__builtin_ia32_punpcklbw((__v8qi)__m1, (__v8qi)__m2);
deoxys-256.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