Implementation notes: aarch64, hikey960, crypto_decode/653x4621

Computer: hikey960
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_decode
Primitive: 653x4621
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
05976 0 018154 888 736int16cc2019112520190816
0988 0 010686 904 736refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112520190816
83254468 0 015272 816 752int16clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112520190816
83252368 0 013783 912 768int16gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112520190816
83251904 0 011066 888 736int16gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112520190816
88832096 0 011790 904 736int16gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112520190816
88833968 0 014768 816 752portableclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112520190816
88833160 0 016078 904 736portablegcc_-funroll-loops_-O2_-fomit-frame-pointer2019112520190816
155472872 0 015790 904 736int16gcc_-funroll-loops_-O2_-fomit-frame-pointer2019112520190816
166502096 0 011830 904 736int16gcc_-O2_-fomit-frame-pointer2019112520190816
166502096 0 011290 888 736int16gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112520190816
166502116 0 012936 816 752portableclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112520190816
166502448 0 013847 912 768portablegcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112520190816
166502472 0 013887 912 768portablegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112520190816
177662116 0 012936 816 752portableclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112520190816
177661924 0 015102 904 736refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112520190816
19989972 0 010798 904 736refgcc_-O_-fomit-frame-pointer2019112520190816
233862116 0 012936 816 752portableclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112520190816
249751940 0 012760 816 752int16clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112520190816
249751940 0 012760 816 752int16clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112520190816
249752636 0 014039 912 768int16gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112520190816
249752848 0 015774 904 736int16gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112520190816
249751296 0 010458 888 736portablegcc_-Os_-fomit-frame-pointer2019112520190816
249753160 0 016415 912 768portablegcc_-funroll-loops_-O3_-fomit-frame-pointer2019112520190816
249753124 0 016054 904 736portablegcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112520190816
249753124 0 016319 912 768portablegcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112520190816
249751328 0 010522 888 736portablegcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112520190816
249781940 0 012760 816 752int16clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112520190816
249782104 0 011266 888 736int16gcc_-Os_-fomit-frame-pointer2019112520190816
266491296 0 010458 888 736portablegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112520190816
266491108 0 012519 912 768refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112520190816
266491924 0 015102 904 736refgcc_-funroll-loops_-O_-fomit-frame-pointer2019112520190816
266491116 0 012543 912 768refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112520190816
291342660 0 014087 912 768int16gcc_-O3_-fomit-frame-pointer2019112520190816
291342472 0 013895 912 768portablegcc_-O3_-fomit-frame-pointer2019112520190816
291412096 0 011290 888 736int16gcc_-funroll-loops_-Os_-fomit-frame-pointer2019112520190816
333002148 0 011974 904 736int16gcc_-O_-fomit-frame-pointer2019112520190816
333002148 0 011974 904 736int16gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112520190816
333001992 0 011726 904 736portablegcc_-O2_-fomit-frame-pointer2019112520190816
333001436 0 011262 904 736portablegcc_-O_-fomit-frame-pointer2019112520190816
333001328 0 010522 888 736portablegcc_-funroll-loops_-Os_-fomit-frame-pointer2019112520190816
333001992 0 011726 904 736portablegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112520190816
33300972 0 010798 904 736refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112520190816
33300812 0 09994 888 736refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019112520190816
33300988 0 010822 904 736refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112520190816
33304808 0 09962 888 736refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112520190816
33328812 0 09962 888 736refgcc_-Os_-fomit-frame-pointer2019112520190816
355322888 0 016070 904 736int16gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112520190816
355321108 0 012535 912 768refgcc_-O3_-fomit-frame-pointer2019112520190816
467302888 0 016070 904 736int16gcc_-funroll-loops_-O_-fomit-frame-pointer2019112520190816
467301936 0 011766 904 736int16gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112520190816
467721984 0 011678 904 736portablegcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112520190816
467721196 0 012016 816 752refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112520190816
499502104 0 011266 888 736int16gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112520190816
499502848 0 016039 912 768int16gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112520190816
499501900 0 011638 904 736int16gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112520190816
499501196 0 012016 816 752refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112520190816
49950988 0 010726 904 736refgcc_-O2_-fomit-frame-pointer2019112520190816
49950812 0 09994 888 736refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112520190816
499562872 0 016127 912 768int16gcc_-funroll-loops_-O3_-fomit-frame-pointer2019112520190816
582755976 0 018154 888 736int16gcc_-funroll-loops2019112520190816
582751296 0 010458 888 736portablegcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112520190816
582751960 0 015167 912 768refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112520190816
624451436 0 011262 904 736portablegcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112520190816
624452520 0 015702 904 736portablegcc_-funroll-loops_-O_-fomit-frame-pointer2019112520190816
624451976 0 015247 912 768refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019112520190816
645111920 0 014846 904 736refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019112520190816
666001904 0 014838 904 736refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112520190816
749345976 0 018154 888 736int16gcc2019112520190816
1052371188 0 011984 816 752refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112520190816
1052371196 0 012016 816 752refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112520190816
1165502520 0 015702 904 736portablegcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112520190816
1165501436 0 011270 904 736portablegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112520190816
129053996 0 010734 904 736refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112520190816
1415252752 0 014930 888 736portablecc2019112520190816
141525812 0 09962 888 736refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112520190816
1498502752 0 014930 888 736portablegcc_-funroll-loops2019112520190816
1753952544 0 014722 888 736refcc2019112520190816
1998002752 0 014930 888 736portablegcc2019112520190816
3080252544 0 014722 888 736refgcc2019112520190816
3080252544 0 014722 888 736refgcc_-funroll-loops2019112520190816

Compiler output

Implementation: avx
Security model: unknown
Compiler: cc
decode.c: decode.c:3:23: fatal error: immintrin.h: No such file or directory
decode.c: #include <immintrin.h>
decode.c: ^
decode.c: compilation terminated.

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

Compiler output

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

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