Implementation notes: aarch64, hikey960, crypto_encode/761x4591

Computer: hikey960
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_encode
Primitive: 761x4591
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
02060 0 012856 816 752portableclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112520190816
0760 0 011576 816 752portableclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112520190816
02272 0 014434 888 736portablegcc2019112520190816
0680 0 010414 904 736portablegcc_-O2_-fomit-frame-pointer2019112520190816
03552 0 014975 912 768portablegcc_-O3_-fomit-frame-pointer2019112520190816
03504 0 014911 912 768portablegcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112520190816
02016 0 014942 904 736portablegcc_-funroll-loops_-O2_-fomit-frame-pointer2019112520190816
04096 0 017359 912 768portablegcc_-funroll-loops_-O3_-fomit-frame-pointer2019112520190816
02004 0 014934 904 736portablegcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112520190816
04064 0 017263 912 768portablegcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112520190816
0676 0 010414 904 736portablegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112520190816
0692 0 010526 904 736portablegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112520190816
0604 0 011424 816 752refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019112520190816
0392 0 010134 904 736refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019112520190816
41633552 0 014975 912 768portablegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112520190816
8325760 0 011576 816 752portableclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112520190816
8325760 0 011576 816 752portableclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112520190816
8325696 0 010526 904 736portablegcc_-O_-fomit-frame-pointer2019112520190816
8325692 0 09850 888 736portablegcc_-Os_-fomit-frame-pointer2019112520190816
83252060 0 015238 904 736portablegcc_-funroll-loops_-O_-fomit-frame-pointer2019112520190816
8325692 0 09882 888 736portablegcc_-funroll-loops_-Os_-fomit-frame-pointer2019112520190816
83252060 0 015238 904 736portablegcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112520190816
8325692 0 09850 888 736portablegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112520190816
8325600 0 011400 816 752refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019112520190816
8325604 0 011424 816 752refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019112520190816
8325700 0 013967 912 768refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019112520190816
8326680 0 010374 904 736portablegcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112520190816
8326696 0 010526 904 736portablegcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112520190816
8326692 0 09850 888 736portablegcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112520190816
8326692 0 09882 888 736portablegcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112520190816
8883572 0 013750 904 736refgcc_-funroll-loops_-O_-fomit-frame-pointer2019112520190816
11693404 0 010230 904 736refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112520190816
12489376 0 09530 888 736refgcc_-Os_-fomit-frame-pointer2019112520190816
12489376 0 09530 888 736refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112520190816
12489412 0 010246 904 736refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019112520190816
13326376 0 09562 888 736refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112520190816
15547556 0 013486 904 736refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019112520190816
16650604 0 011424 816 752refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019112520190816
16650392 0 010134 904 736refgcc_-O2_-fomit-frame-pointer2019112520190816
16650460 0 011887 912 768refgcc_-O3_-fomit-frame-pointer2019112520190816
16650460 0 011871 912 768refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112520190816
16650700 0 013903 912 768refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112520190816
16650460 0 011887 912 768refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019112520190816
16652556 0 013486 904 736refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112520190816
24975404 0 010230 904 736refgcc_-O_-fomit-frame-pointer2019112520190816
24975392 0 010094 904 736refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112520190816
24975572 0 013750 904 736refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112520190816
24975376 0 09530 888 736refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019112520190816
24978376 0 09562 888 736refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019112520190816
333002272 0 014434 888 736portablegcc_-funroll-loops2019112520190816
499502272 0 014434 888 736portablecc2019112520190816
499501108 0 013266 888 736refgcc2019112520190816
499501108 0 013266 888 736refgcc_-funroll-loops2019112520190816
701581108 0 013266 888 736refcc2019112520190816

Compiler output

Implementation: avx
Security model: unknown
Compiler: cc
encode.c: encode.c:8:23: fatal error: immintrin.h: No such file or directory
encode.c: #include <immintrin.h>
encode.c: ^
encode.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
encode.c: In file included from encode.c:8:
encode.c: In file included from /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/immintrin.h:27:
encode.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
encode.c: return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
encode.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encode.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
encode.c: return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
encode.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encode.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
encode.c: return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
encode.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encode.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
encode.c: return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
encode.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encode.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
encode.c: return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
encode.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encode.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
encode.c: return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
encode.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encode.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
encode.c: return (__m64)__builtin_ia32_punpckhdq((__v2si)__m1, (__v2si)__m2);
encode.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encode.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
encode.c: return (__m64)__builtin_ia32_punpcklbw((__v8qi)__m1, (__v8qi)__m2);
encode.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