Implementation notes: aarch64, jetsontx1, crypto_aead/triadaev1

Computer: jetsontx1
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20191017
Operation: crypto_aead
Primitive: triadaev1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
587678930832 0 043369 760 856refclang_-mcpu=native_-march=armv8a+crypto_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019101720190910
642375031908 0 045871 808 856refarmclang_-march=armv8a+crypto_-mcpu=cortex-a57_-mtune=cortex-a57_-O3_-fPIC_-fPIE2019101720190910
944518516280 0 028261 824 864refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101720190910
2221575711824 0 022873 760 840refclang_-mcpu=native_-march=armv8a+crypto_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019101720190910
2223009711824 0 022873 760 840refclang_-mcpu=native_-march=armv8a+crypto_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019101720190910
2540070713324 0 025791 808 840refarmclang_-march=armv8a+crypto_-mcpu=cortex-a57_-mtune=cortex-a57_-O2_-fPIC_-fPIE2019101720190910
463690404840 0 014579 800 840refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101720190910
475052756412 0 015551 752 840refclang_-mcpu=native_-march=armv8a+crypto_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019101720190910
530547525460 0 016066 808 848refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101720190910
545659947056 0 017674 808 848refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101720190910

Compiler output

Implementation: add_avx
Security model: unknown
Compiler: armclang++ -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O2 -fPIC -fPIE
simd.cpp: In file included from simd.cpp:16:
simd.cpp: In file included from /opt/arm/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib/clang/7.1.0/include/x86intrin.h:27:
simd.cpp: /opt/arm/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib/clang/7.1.0/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: /opt/arm/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib/clang/7.1.0/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: /opt/arm/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib/clang/7.1.0/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: /opt/arm/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib/clang/7.1.0/include/ia32intrin.h:60:10: note: '__builtin_arm_dmb' declared here
simd.cpp: /opt/arm/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib/clang/7.1.0/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: /opt/arm/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib/clang/7.1.0/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: /opt/arm/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib/clang/7.1.0/include/ia32intrin.h:66:10: note: '__builtin_arm_rsrp' declared here
simd.cpp: /opt/arm/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib/clang/7.1.0/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: /opt/arm/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib/clang/7.1.0/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: 4, namely:
CompilerImplementations
armclang++ -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O2 -fPIC -fPIE add_avx
armclang++ -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O3 -fPIC -fPIE add_avx
armclang++ -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O2 -fPIC -fPIE add_sse
armclang++ -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O3 -fPIC -fPIE add_sse

Compiler output

Implementation: add_avx
Security model: unknown
Compiler: clang++ -mcpu=native -march=armv8a+crypto -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
simd.cpp: In file included from simd.cpp:16:
simd.cpp: In file included from /usr/local/llvm-8.0.1/lib/clang/8.0.1/include/x86intrin.h:27:
simd.cpp: /usr/local/llvm-8.0.1/lib/clang/8.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/local/llvm-8.0.1/lib/clang/8.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/local/llvm-8.0.1/lib/clang/8.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/local/llvm-8.0.1/lib/clang/8.0.1/include/ia32intrin.h:60:10: note: '__builtin_arm_dmb' declared here
simd.cpp: /usr/local/llvm-8.0.1/lib/clang/8.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/local/llvm-8.0.1/lib/clang/8.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/local/llvm-8.0.1/lib/clang/8.0.1/include/ia32intrin.h:66:10: note: '__builtin_arm_rsrp' declared here
simd.cpp: /usr/local/llvm-8.0.1/lib/clang/8.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/local/llvm-8.0.1/lib/clang/8.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: 8, namely:
CompilerImplementations
clang++ -mcpu=native -march=armv8a+crypto -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE add_avx
clang++ -mcpu=native -march=armv8a+crypto -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE add_avx
clang++ -mcpu=native -march=armv8a+crypto -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE add_avx
clang++ -mcpu=native -march=armv8a+crypto -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE add_avx
clang++ -mcpu=native -march=armv8a+crypto -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE add_sse
clang++ -mcpu=native -march=armv8a+crypto -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE add_sse
clang++ -mcpu=native -march=armv8a+crypto -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE add_sse
clang++ -mcpu=native -march=armv8a+crypto -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE add_sse

Compiler output

Implementation: add_avx
Security model: unknown
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
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: 4, namely:
CompilerImplementations
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE add_avx
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE add_avx
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE add_avx
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE add_avx

Compiler output

Implementation: add_sse
Security model: unknown
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
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: 4, namely:
CompilerImplementations
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE add_sse
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE add_sse
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE add_sse
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE add_sse

Namespace violations

Implementation: ref
Security model: unknown
Compiler: armclang -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O2 -fPIC -fPIE
encrypt.o Init_loading T
encrypt.o Initialization T
encrypt.o Initialization_mac T
encrypt.o Keystreamgen T
encrypt.o Keystreamgen_byte T
encrypt.o Stateupdate T
encrypt.o dec_onebyte T
encrypt.o decryption_part T
encrypt.o enc_onebyte T
encrypt.o encryption_part T
encrypt.o filter T
encrypt.o mac_onebyte_ad T
encrypt.o mac_onebyte_message T
encrypt.o macgeneration_part T
encrypt.o tagverification_part T

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
armclang -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O2 -fPIC -fPIE ref
armclang -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O3 -fPIC -fPIE ref
clang -mcpu=native -march=armv8a+crypto -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -mcpu=native -march=armv8a+crypto -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -mcpu=native -march=armv8a+crypto -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -mcpu=native -march=armv8a+crypto -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE ref