Implementation notes: aarch64, hikey960, crypto_aead/triadaev1

Computer: hikey960
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: triadaev1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
331335914812 0 030581 952 896refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019113020190816
611887510836 0 024981 952 896refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019113020190816
618547510876 0 024981 952 896refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019113020190816
699092114740 0 030469 952 896refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019113020190816
1322168810836 0 024989 952 896refgcc_-O3_-fomit-frame-pointer2019113020190816
2085412512460 0 027842 936 864refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019113020190816
2086245010592 0 026258 936 864refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019113020190816
2087328210592 0 026258 936 864refgcc_-funroll-loops_-O_-fomit-frame-pointer2019113020190816
2136451612484 0 027834 936 864refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019113020190816
344155784472 0 016191 928 864refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019113020190816
367132504320 0 016015 928 864refgcc_-Os_-fomit-frame-pointer2019113020190816
376956004320 0 016015 928 864refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019113020190816
394854756172 0 018490 936 864refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019113020190816
5325502510772 0 023728 816 880refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019113020190816
5327391110772 0 023728 816 880refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019113020190816
5902753510772 0 023728 816 880refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019113020190816
681381836164 0 018546 936 864refgcc_-O2_-fomit-frame-pointer2019113020190816
684355576164 0 018546 936 864refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019113020190816
703962004748 0 017210 936 864refgcc_-O_-fomit-frame-pointer2019113020190816
714368254748 0 017210 936 864refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019113020190816
730065314748 0 017218 936 864refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019113020190816
870462004472 0 016191 928 864refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019113020190816
877122004320 0 016015 928 864refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019113020190816
11061427510772 0 023712 816 880refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019113020190816
2273206157336 0 024079 928 864refgcc_-funroll-loops2019113020190816
3318356477336 0 024079 928 864refgcc2019113020190816
5727688407336 0 024079 928 864refcc2019113020190816

Compiler output

Implementation: add_avx
Security model: unknown
Compiler: clang++ -O3 -fomit-frame-pointer -Qunused-arguments
simd.cpp: In file included from simd.cpp:16:
simd.cpp: In file included from /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/x86intrin.h:27:
simd.cpp: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/ia32intrin.h:48:10: error: use of undeclared identifier '__builtin_ia32_readeflags_u32'
simd.cpp: return __builtin_ia32_readeflags_u32();
simd.cpp: ^
simd.cpp: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/ia32intrin.h:54:3: error: use of undeclared identifier '__builtin_ia32_writeeflags_u32'
simd.cpp: __builtin_ia32_writeeflags_u32(__f);
simd.cpp: ^
simd.cpp: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/ia32intrin.h:60:10: error: use of undeclared identifier '__builtin_ia32_rdpmc'; did you mean '__builtin_arm_dmb'?
simd.cpp: return __builtin_ia32_rdpmc(__A);
simd.cpp: ^
simd.cpp: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/ia32intrin.h:60:10: note: '__builtin_arm_dmb' declared here
simd.cpp: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/ia32intrin.h:60:10: error: argument to '__builtin_arm_dmb' must be a constant integer
simd.cpp: return __builtin_ia32_rdpmc(__A);
simd.cpp: ^ ~~~
simd.cpp: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/ia32intrin.h:66:10: error: use of undeclared identifier '__builtin_ia32_rdtsc'
simd.cpp: return __builtin_ia32_rdtsc();
simd.cpp: ^
simd.cpp: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/ia32intrin.h:72:10: error: use of undeclared identifier '__builtin_ia32_rdtscp'; did you mean '__builtin_arm_rsrp'?
simd.cpp: return __builtin_ia32_rdtscp(__A);
simd.cpp: ^
simd.cpp: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/ia32intrin.h:72:10: note: '__builtin_arm_rsrp' declared here
simd.cpp: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/ia32intrin.h:72:32: error: cannot initialize a parameter of type 'const char *' with an lvalue of type 'unsigned int *'
simd.cpp: return __builtin_ia32_rdtscp(__A);
simd.cpp: ^~~
simd.cpp: ...

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang++ -O3 -fomit-frame-pointer -Qunused-arguments add_avx
clang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments add_avx
clang++ -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments add_avx
clang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments add_avx
clang++ -O3 -fomit-frame-pointer -Qunused-arguments add_sse
clang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments add_sse
clang++ -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments add_sse
clang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments add_sse

Compiler output

Implementation: add_avx
Security model: unknown
Compiler: g++
simd.cpp: simd.cpp:16:23: fatal error: x86intrin.h: No such file or directory
simd.cpp: #include <x86intrin.h>
simd.cpp: ^
simd.cpp: compilation terminated.

Number of similar (compiler,implementation) pairs: 17, namely:
CompilerImplementations
g++ add_avx
g++ -O2 -fomit-frame-pointer add_avx
g++ -O3 -fomit-frame-pointer add_avx
g++ -O -fomit-frame-pointer add_avx
g++ -Os -fomit-frame-pointer add_avx
g++ -fno-schedule-insns -O2 -fomit-frame-pointer add_avx
g++ -fno-schedule-insns -O3 -fomit-frame-pointer add_avx
g++ -fno-schedule-insns -O -fomit-frame-pointer add_avx
g++ -fno-schedule-insns -Os -fomit-frame-pointer add_avx
g++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer add_avx
g++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer add_avx
g++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer add_avx
g++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer add_avx
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv add_avx
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv add_avx
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv add_avx
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv add_avx

Compiler output

Implementation: add_sse
Security model: unknown
Compiler: g++
simd.cpp: simd.cpp:16:25: fatal error: x86intrin.h: No such file or directory
simd.cpp: #include <x86intrin.h>
simd.cpp: ^
simd.cpp: compilation terminated.

Number of similar (compiler,implementation) pairs: 17, namely:
CompilerImplementations
g++ add_sse
g++ -O2 -fomit-frame-pointer add_sse
g++ -O3 -fomit-frame-pointer add_sse
g++ -O -fomit-frame-pointer add_sse
g++ -Os -fomit-frame-pointer add_sse
g++ -fno-schedule-insns -O2 -fomit-frame-pointer add_sse
g++ -fno-schedule-insns -O3 -fomit-frame-pointer add_sse
g++ -fno-schedule-insns -O -fomit-frame-pointer add_sse
g++ -fno-schedule-insns -Os -fomit-frame-pointer add_sse
g++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer add_sse
g++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer add_sse
g++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer add_sse
g++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer add_sse
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv add_sse
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv add_sse
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv add_sse
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv add_sse