Implementation notes: aarch64, hikey960, crypto_decode/857x5167

Computer: hikey960
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_decode
Primitive: 857x5167
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
01508 0 011334 904 736portablegcc_-O_-fomit-frame-pointer2019112520190816
01384 0 010578 888 736portablegcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112520190816
01840 0 015022 904 736refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112520190816
83254448 0 015256 816 752int16clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112520190816
88832244 0 011942 904 736int16gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112520190816
88833548 0 016726 904 736int16gcc_-funroll-loops_-O_-fomit-frame-pointer2019112520190816
166502060 0 012880 816 752int16clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112520190816
166503100 0 014527 912 768int16gcc_-O3_-fomit-frame-pointer2019112520190816
166502236 0 011394 888 736int16gcc_-Os_-fomit-frame-pointer2019112520190816
166502232 0 011426 888 736int16gcc_-funroll-loops_-Os_-fomit-frame-pointer2019112520190816
166503548 0 016726 904 736int16gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112520190816
166502232 0 011426 888 736int16gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112520190816
166504276 0 015072 816 752portableclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112520190816
166502388 0 013208 816 752portableclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112520190816
166502840 0 014239 912 768portablegcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112520190816
166503632 0 016887 912 768portablegcc_-funroll-loops_-O3_-fomit-frame-pointer2019112520190816
166502144 0 011878 904 736portablegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112520190816
177662140 0 011838 904 736portablegcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112520190816
177663632 0 016550 904 736portablegcc_-funroll-loops_-O2_-fomit-frame-pointer2019112520190816
177661352 0 010514 888 736portablegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112520190816
177661140 0 011960 816 752refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112520190816
208152236 0 011394 888 736int16gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112520190816
233862244 0 011982 904 736int16gcc_-O2_-fomit-frame-pointer2019112520190816
233862788 0 014207 912 768int16gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112520190816
233863620 0 016815 912 768portablegcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112520190816
333002060 0 012880 816 752int16clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112520190816
333003508 0 016430 904 736int16gcc_-funroll-loops_-O2_-fomit-frame-pointer2019112520190816
333003508 0 016767 912 768int16gcc_-funroll-loops_-O3_-fomit-frame-pointer2019112520190816
333002048 0 011782 904 736int16gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112520190816
333002040 0 011202 888 736int16gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112520190816
333002388 0 013208 816 752portableclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112520190816
374673076 0 014479 912 768int16gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112520190816
374673484 0 016679 912 768int16gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112520190816
374672072 0 011902 904 736int16gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112520190816
374671508 0 011342 904 736portablegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112520190816
37467988 0 010726 904 736refgcc_-O2_-fomit-frame-pointer2019112520190816
374671928 0 015135 912 768refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112520190816
395392852 0 014271 912 768portablegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112520190816
416252296 0 012126 904 736int16gcc_-O_-fomit-frame-pointer2019112520190816
416252296 0 012126 904 736int16gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112520190816
416252388 0 013208 816 752portableclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112520190816
416252144 0 011878 904 736portablegcc_-O2_-fomit-frame-pointer2019112520190816
416252852 0 014279 912 768portablegcc_-O3_-fomit-frame-pointer2019112520190816
416252736 0 015918 904 736portablegcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112520190816
416251132 0 011928 816 752refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112520190816
416251140 0 011960 816 752refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112520190816
416251840 0 015022 904 736refgcc_-funroll-loops_-O_-fomit-frame-pointer2019112520190816
41625808 0 09962 888 736refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112520190816
467723620 0 016550 904 736portablegcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112520190816
499501508 0 011334 904 736portablegcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112520190816
499501352 0 010514 888 736portablegcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112520190816
582751044 0 012455 912 768refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112520190816
58465812 0 09962 888 736refgcc_-Os_-fomit-frame-pointer2019112520190816
58465812 0 09994 888 736refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112520190816
62181988 0 010822 904 736refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112520190816
666002060 0 012880 816 752int16clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112520190816
666003484 0 016414 904 736int16gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112520190816
749341352 0 010514 888 736portablegcc_-Os_-fomit-frame-pointer2019112520190816
749341384 0 010578 888 736portablegcc_-funroll-loops_-Os_-fomit-frame-pointer2019112520190816
832502736 0 015918 904 736portablegcc_-funroll-loops_-O_-fomit-frame-pointer2019112520190816
832501044 0 012471 912 768refgcc_-O3_-fomit-frame-pointer2019112520190816
832501828 0 014766 904 736refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112520190816
832501052 0 012479 912 768refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112520190816
853211844 0 014774 904 736refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019112520190816
915751140 0 011960 816 752refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112520190816
91575988 0 010686 904 736refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112520190816
91586996 0 010734 904 736refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112520190816
99912812 0 09962 888 736refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112520190816
108225972 0 010798 904 736refgcc_-O_-fomit-frame-pointer2019112520190816
1110506344 0 018522 888 736int16gcc2019112520190816
1248752920 0 015098 888 736portablegcc2019112520190816
152009972 0 010798 904 736refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112520190816
1581751944 0 015215 912 768refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019112520190816
1665002544 0 014722 888 736refgcc_-funroll-loops2019112520190816
1753952920 0 015098 888 736portablecc2019112520190816
183172812 0 09994 888 736refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019112520190816
2081256344 0 018522 888 736int16cc2019112520190816
2081256344 0 018522 888 736int16gcc_-funroll-loops2019112520190816
2338602544 0 014722 888 736refgcc2019112520190816
2830502920 0 015098 888 736portablegcc_-funroll-loops2019112520190816
3996002544 0 014722 888 736refcc2019112520190816

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