Implementation notes: aarch64, hikey960, crypto_aead/gimli24v1

Computer: hikey960
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: gimli24v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1932273308 0 016272 816 880littleendianclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112820190816
2081253308 0 016256 816 880littleendianclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112820190816
2081253308 0 016272 816 880littleendianclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112820190816
2164504600 0 018627 944 896littleendiangcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
2414254928 0 020314 936 864littleendiangcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
2789215008 0 020682 936 864littleendiangcc_-funroll-loops_-O_-fomit-frame-pointer2019112820190816
2842561292 0 013618 936 864littleendiangcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
3413254696 0 018771 944 896littleendiangcc_-O3_-fomit-frame-pointer2019112820190816
3413251176 0 016902 920 864littleendiangcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
3413251288 0 013674 936 864littleendiangcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112820190816
3496501288 0 013674 936 864littleendiangcc_-O2_-fomit-frame-pointer2019112820190816
3496501232 0 012886 920 864littleendiangcc_-funroll-loops_-Os_-fomit-frame-pointer2019112820190816
3579753308 0 016272 816 880littleendianclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112820190816
3738705856 0 021507 944 896littleendiangcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
3829504960 0 020314 936 864littleendiangcc_-funroll-loops_-O2_-fomit-frame-pointer2019112820190816
4673005928 0 021619 944 896littleendiangcc_-funroll-loops_-O3_-fomit-frame-pointer2019112820190816
4794134688 0 018755 944 896littleendiangcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112820190816
4794131176 0 016902 920 864littleendiangcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112820190816
5411251232 0 012886 920 864littleendiangcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
5495161380 0 013850 936 864littleendiangcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
7160361176 0 016902 920 864littleendiangcc_-Os_-fomit-frame-pointer2019112820190816
7461726160 0 021811 944 896refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
7477405008 0 020682 936 864littleendiangcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
8158503372 0 016328 816 880refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112820190816
8158503372 0 016328 816 880refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112820190816
8185101384 0 013858 936 864littleendiangcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112820190816
8824501864 0 014242 936 864refgcc_-O2_-fomit-frame-pointer2019112820190816
8824501864 0 014242 936 864refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112820190816
8991005280 0 020658 936 864refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
11809931380 0 013850 936 864littleendiangcc_-O_-fomit-frame-pointer2019112820190816
12043794896 0 018963 944 896refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112820190816
12820503372 0 016328 816 880refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112820190816
13736255280 0 020626 936 864refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019112820190816
14152501804 0 014122 936 864refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112820190816
15567753372 0 016312 816 880refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112820190816
17149501592 0 013238 920 864refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
19059594896 0 018971 944 896refgcc_-O3_-fomit-frame-pointer2019112820190816
20646004832 0 018859 944 896refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112820190816
22801355216 0 020882 936 864refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
26033312740 0 019422 920 864littleendiancc2019112820190816
26723251560 0 017278 920 864refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112820190816
26889751592 0 013238 920 864refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019112820190816
29250572740 0 019422 920 864littleendiangcc_-funroll-loops2019112820190816
30969006152 0 021843 944 896refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019112820190816
39127505216 0 020882 936 864refgcc_-funroll-loops_-O_-fomit-frame-pointer2019112820190816
39377251772 0 014242 936 864refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112820190816
39460501772 0 014234 936 864refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112820190816
39960001772 0 014234 936 864refgcc_-O_-fomit-frame-pointer2019112820190816
42920531560 0 017278 920 864refgcc_-Os_-fomit-frame-pointer2019112820190816
43040251560 0 017278 920 864refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112820190816
78512702740 0 019422 920 864littleendiangcc2019112820190816
87412503032 0 019702 920 864refcc2019112820190816
244422003032 0 019702 920 864refgcc_-funroll-loops2019112820190816
336483003032 0 019702 920 864refgcc2019112820190816

Compiler output

Implementation: sse
Security model: unknown
Compiler: cc
cipher.c: In file included from cipher.c:5:0:
cipher.c: gimli.inc:1:23: fatal error: x86intrin.h: No such file or directory
cipher.c: #include <x86intrin.h>
cipher.c: ^
cipher.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 46, namely:
CompilerImplementations
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
cc ssealt
gcc ssealt
gcc -O2 -fomit-frame-pointer ssealt
gcc -O3 -fomit-frame-pointer ssealt
gcc -O -fomit-frame-pointer ssealt
gcc -Os -fomit-frame-pointer ssealt
gcc -fno-schedule-insns -O2 -fomit-frame-pointer ssealt
gcc -fno-schedule-insns -O3 -fomit-frame-pointer ssealt
gcc -fno-schedule-insns -O -fomit-frame-pointer ssealt
gcc -fno-schedule-insns -Os -fomit-frame-pointer ssealt
gcc -funroll-loops ssealt
gcc -funroll-loops -O2 -fomit-frame-pointer ssealt
gcc -funroll-loops -O3 -fomit-frame-pointer ssealt
gcc -funroll-loops -O -fomit-frame-pointer ssealt
gcc -funroll-loops -Os -fomit-frame-pointer ssealt
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer ssealt
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ssealt
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer ssealt
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ssealt
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv ssealt
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv ssealt
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv ssealt
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv ssealt

Compiler output

Implementation: sse
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
cipher.c: In file included from cipher.c:5:
cipher.c: In file included from ./gimli.inc:1:
cipher.c: In file included from /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/x86intrin.h:29:
cipher.c: In file included from /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/immintrin.h:27:
cipher.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
cipher.c: return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
cipher.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cipher.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
cipher.c: return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
cipher.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cipher.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
cipher.c: return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
cipher.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cipher.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
cipher.c: return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
cipher.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cipher.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
cipher.c: return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
cipher.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cipher.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
cipher.c: return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
cipher.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cipher.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
cipher.c: return (__m64)__builtin_ia32_punpckhdq((__v2si)__m1, (__v2si)__m2);
cipher.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cipher.c: ...

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
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
clang -O3 -fomit-frame-pointer -Qunused-arguments ssealt
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments ssealt
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ssealt
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ssealt