Implementation notes: aarch64, hikey960, crypto_decode/857x1723

Computer: hikey960
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_decode
Primitive: 857x1723
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
02048 0 012864 816 752int16clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112520190816
01948 0 011686 904 736int16gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112520190816
0996 0 010734 904 736refgcc_-O2_-fomit-frame-pointer2019112520190816
0820 0 09970 888 736refgcc_-Os_-fomit-frame-pointer2019112520190816
88832048 0 012864 816 752int16clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112520190816
88832356 0 013176 816 752portableclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112520190816
124894220 0 015024 816 752int16clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112520190816
166502180 0 011918 904 736int16gcc_-O2_-fomit-frame-pointer2019112520190816
166503552 0 014975 912 768int16gcc_-O3_-fomit-frame-pointer2019112520190816
166502240 0 012070 904 736int16gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112520190816
166503100 0 015998 904 736int16gcc_-funroll-loops_-O2_-fomit-frame-pointer2019112520190816
166503520 0 016687 912 768int16gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112520190816
166502180 0 011918 904 736portablegcc_-O2_-fomit-frame-pointer2019112520190816
166503080 0 015974 904 736portablegcc_-funroll-loops_-O2_-fomit-frame-pointer2019112520190816
166502156 0 011894 904 736portablegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112520190816
166522180 0 011878 904 736int16gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112520190816
177663120 0 016270 904 736int16gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112520190816
177661992 0 011822 904 736int16gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112520190816
177661504 0 011334 904 736portablegcc_-O_-fomit-frame-pointer2019112520190816
177664192 0 017423 912 768portablegcc_-funroll-loops_-O3_-fomit-frame-pointer2019112520190816
17766996 0 010694 904 736refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112520190816
249752180 0 011370 888 736int16gcc_-funroll-loops_-Os_-fomit-frame-pointer2019112520190816
266492356 0 013176 816 752portableclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112520190816
26652980 0 010806 904 736refgcc_-O_-fomit-frame-pointer2019112520190816
291413120 0 016270 904 736int16gcc_-funroll-loops_-O_-fomit-frame-pointer2019112520190816
291413152 0 014575 912 768int16gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112520190816
333002048 0 012864 816 752int16clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112520190816
333002180 0 011338 888 736int16gcc_-Os_-fomit-frame-pointer2019112520190816
333003520 0 014927 912 768int16gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112520190816
333002180 0 011338 888 736int16gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112520190816
333003552 0 016783 912 768int16gcc_-funroll-loops_-O3_-fomit-frame-pointer2019112520190816
333003056 0 015958 904 736int16gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112520190816
333002176 0 011870 904 736portablegcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112520190816
333043048 0 015950 904 736portablegcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112520190816
395394128 0 014928 816 752portableclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112520190816
416252240 0 012070 904 736int16gcc_-O_-fomit-frame-pointer2019112520190816
416253952 0 015375 912 768portablegcc_-O3_-fomit-frame-pointer2019112520190816
416253936 0 015343 912 768portablegcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112520190816
416252368 0 015518 904 736portablegcc_-funroll-loops_-O_-fomit-frame-pointer2019112520190816
466411916 0 014822 904 736refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019112520190816
467722040 0 015279 912 768refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019112520190816
499502356 0 013176 816 752portableclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112520190816
49950980 0 010806 904 736refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112520190816
499501912 0 015062 904 736refgcc_-funroll-loops_-O_-fomit-frame-pointer2019112520190816
499501912 0 015062 904 736refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112520190816
49956996 0 010830 904 736refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112520190816
582751952 0 011114 888 736int16gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112520190816
582751352 0 010514 888 736portablegcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112520190816
582751000 0 010742 904 736refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112520190816
582821900 0 014814 904 736refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112520190816
582822024 0 015199 912 768refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112520190816
584651188 0 012008 816 752refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112520190816
666002180 0 011370 888 736int16gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112520190816
666002368 0 015518 904 736portablegcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112520190816
707543888 0 015311 912 768portablegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112520190816
749251352 0 010514 888 736portablegcc_-Os_-fomit-frame-pointer2019112520190816
749251384 0 010578 888 736portablegcc_-funroll-loops_-Os_-fomit-frame-pointer2019112520190816
749254160 0 017327 912 768portablegcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112520190816
749251384 0 010578 888 736portablegcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112520190816
749251352 0 010514 888 736portablegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112520190816
74925820 0 010002 888 736refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112520190816
74934816 0 09970 888 736refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112520190816
832501504 0 011334 904 736portablegcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112520190816
832501504 0 011334 904 736portablegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112520190816
832501060 0 012487 912 768refgcc_-O3_-fomit-frame-pointer2019112520190816
832501068 0 012495 912 768refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112520190816
832601060 0 012471 912 768refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112520190816
915756276 0 018458 888 736int16cc2019112520190816
915751180 0 011976 816 752refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112520190816
915751188 0 012008 816 752refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112520190816
99900820 0 09970 888 736refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112520190816
1207272872 0 015050 888 736portablecc2019112520190816
1665002564 0 014746 888 736refcc2019112520190816
1748251188 0 012008 816 752refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112520190816
187335820 0 010002 888 736refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019112520190816
1914756276 0 018458 888 736int16gcc2019112520190816
1914752872 0 015050 888 736portablegcc_-funroll-loops2019112520190816
1987812564 0 014746 888 736refgcc_-funroll-loops2019112520190816
2580752564 0 014746 888 736refgcc2019112520190816
2664322872 0 015050 888 736portablegcc2019112520190816
2689396276 0 018458 888 736int16gcc_-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