Implementation notes: aarch64, supercoplxc, crypto_aead/triadaev1

Computer: supercoplxc
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: triadaev1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1492528030680 0 045398 800 888refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019092520190816
1564320030668 0 045374 800 888refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019092520190816
1565800030668 0 045374 800 888refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019092520190816
1567064030668 0 045326 800 888refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019092520190816
1571128016208 0 034299 928 880refgcc_-O3_-fomit-frame-pointer2019092520190816
1576816018824 0 034155 928 880refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019092520190816
1577632030668 0 045374 800 888refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019092520190816
1584336018764 0 034075 928 880refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019092520190816
1605912016220 0 034283 928 880refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019092520190816
6032992012064 0 026712 912 864refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019092520190816
6046936012020 0 026776 912 864refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019092520190816
6243776010804 0 026832 912 864refgcc_-funroll-loops_-O_-fomit-frame-pointer2019092520190816
6268816010804 0 026832 912 864refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019092520190816
1007621606944 0 019560 912 864refgcc_-O2_-fomit-frame-pointer2019092520190816
1094343205040 0 017017 904 856refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019092520190816
1095109605040 0 017017 904 856refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019092520190816
1101300804840 0 016761 904 856refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019092520190816
1104598404840 0 016761 904 856refgcc_-Os_-fomit-frame-pointer2019092520190816
1358923206780 0 019344 912 864refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019092520190816
1374609605460 0 018264 912 864refgcc_-O_-fomit-frame-pointer2019092520190816
1386364805460 0 018264 912 864refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019092520190816
4856515207888 0 025001 904 864refcc2019092520190816
4873661607888 0 025001 904 864refgcc_-funroll-loops2019092520190816
4916454407888 0 025001 904 864refgcc2019092520190816

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/include/clang/7.0.1/include/x86intrin.h:27:
simd.cpp: /usr/include/clang/7.0.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/include/clang/7.0.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/include/clang/7.0.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/include/clang/7.0.1/include/ia32intrin.h:60:10: note: '__builtin_arm_dmb' declared here
simd.cpp: /usr/include/clang/7.0.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/include/clang/7.0.1/include/ia32intrin.h:66: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/include/clang/7.0.1/include/ia32intrin.h:66:10: note: '__builtin_arm_rsrp' declared here
simd.cpp: /usr/include/clang/7.0.1/include/ia32intrin.h:66: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: /usr/include/clang/7.0.1/include/ia32intrin.h:75:3: error: use of undeclared identifier '__builtin_ia32_wbinvd'
simd.cpp: __builtin_ia32_wbinvd();
simd.cpp: ^
simd.cpp: ...

Number of similar (compiler,implementation) pairs: 10, 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++ -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -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
clang++ -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments add_sse

Compiler output

Implementation: add_avx
Security model: unknown
Compiler: g++
simd.cpp: simd.cpp:16:10: 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: 13, 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

Compiler output

Implementation: add_sse
Security model: unknown
Compiler: g++
simd.cpp: simd.cpp:16:12: 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: 13, 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