Implementation notes: amd64, hertz, crypto_aead/triadaev1

Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240716
Operation: crypto_aead
Primitive: triadaev1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
102546550 0 021491 852 1096T:add_sseclang++_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
1032121541 0 042666 860 1096T:add_sseclang++_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
1032821573 0 042810 860 1096T:add_sseclang++_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
1454511557 0 026913 828 1128T:add_sseg++_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
1454911788 0 029177 828 1192T:add_sseg++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
1668914656 8 27232105 836 1480T:add_avxg++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
1675314585 8 27230017 836 1416T:add_avxg++_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
338489239 8 27223116 812 1384T:add_avxg++_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
450716274 0 020020 804 1096T:add_sseg++_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
311222213787 0 028514 828 1096T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
32236238263 0 023647 812 1096T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
32343825376 0 019082 788 1064T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
4685714111392 0 0132334 828 1096T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
4905974111392 0 0132446 828 1096T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
550013112991 0 030407 812 1160T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716

Checksum failure


1fc9516b5b27c0502a4c5dab02030bac4409a31ea668f68683bb362f81543da0

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:add_avxclang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:add_avxclang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:add_avxclang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

Compiler output


simd.cpp: simd.cpp:23:13: warning: unused function 'disp' [-Wunused-function]
simd.cpp:    23 | static void disp(__m128i in) {
simd.cpp:       |             ^~~~
simd.cpp: simd.cpp:59:13: warning: unused function 'dispReg' [-Wunused-function]
simd.cpp:    59 | static void dispReg(__m256i in) {
simd.cpp:       |             ^~~~~~~
simd.cpp: 2 warnings generated.

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:add_avxclang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:add_avxclang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:add_avxclang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

Compiler output


simd.cpp: simd.cpp:59:13: warning: 'void dispReg(__m256i)' defined but not used [-Wunused-function]
simd.cpp:    59 | static void dispReg(__m256i in) {
simd.cpp:       |             ^~~~~~~
simd.cpp: simd.cpp:23:13: warning: 'void disp(__m128i)' defined but not used [-Wunused-function]
simd.cpp:    23 | static void disp(__m128i in) {
simd.cpp:       |             ^~~~
simd.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/13/include/xmmintrin.h:1322,
simd.cpp:                  from /usr/lib/gcc/x86_64-linux-gnu/13/include/immintrin.h:31,
simd.cpp:                  from /usr/lib/gcc/x86_64-linux-gnu/13/include/x86intrin.h:32,
simd.cpp:                  from simd.cpp:16:
simd.cpp: In function '__m128i _mm_loadu_si128(const __m128i_u*)',
simd.cpp:     inlined from 'void triad_high_speed_encryption(unsigned char*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, const unsigned char*)' at simd.cpp:487:28:
simd.cpp: /usr/lib/gcc/x86_64-linux-gnu/13/include/emmintrin.h:706:11: warning: array subscript 'const __m128i_u[0]' is partly outside array bounds of 'long long unsigned int [1]' [-Warray-bounds=]
simd.cpp:   706 |   return *__P;
simd.cpp:       |           ^~~
simd.cpp: simd.cpp: In function 'void triad_high_speed_encryption(unsigned char*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, const unsigned char*)':
simd.cpp: simd.cpp:384:145: note: object 'adlen' of size 8
simd.cpp:   384 | void triad_high_speed_encryption(unsigned char *c, const unsigned char *m, unsigned long long mlen, const unsigned char *ad, unsigned long long adlen, const unsigned char *npub, const unsigned char *k) {
simd.cpp:       |                                                                                                                              ~~~~~~~~~~~~~~~~~~~^~~~~
simd.cpp: In function '__m128i _mm_loadu_si128(const __m128i_u*)',
simd.cpp:     inlined from 'void triad_high_speed_decryption(unsigned char*, unsigned char*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, const unsigned char*)' at simd.cpp:802:34:
simd.cpp: /usr/lib/gcc/x86_64-linux-gnu/13/include/emmintrin.h:706:11: warning: array subscript 'const __m128i_u[0]' is partly outside array bounds of 'long long unsigned int [1]' [-Warray-bounds=]
simd.cpp:   706 |   return *__P;
simd.cpp:       |           ^~~
simd.cpp: simd.cpp: In function 'void triad_high_speed_decryption(unsigned char*, unsigned char*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, const unsigned char*)':
simd.cpp: ...

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:add_avxg++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:add_avxg++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:add_avxg++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Compiler output


simd.cpp: simd.cpp:22:13: warning: unused function 'disp' [-Wunused-function]
simd.cpp:    22 | static void disp(__m128i in) {
simd.cpp:       |             ^~~~
simd.cpp: simd.cpp:38:13: warning: unused function 'dispReg' [-Wunused-function]
simd.cpp:    38 | static void dispReg(__m128i in) {
simd.cpp:       |             ^~~~~~~
simd.cpp: simd.cpp:54:13: warning: unused function 'dispReg' [-Wunused-function]
simd.cpp:    54 | static void dispReg(__m128i inL, __m128i inR) {
simd.cpp:       |             ^~~~~~~
simd.cpp: 3 warnings generated.

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:add_sseclang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:add_sseclang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:add_sseclang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

Compiler output


simd.cpp: simd.cpp:54:13: warning: 'void dispReg(__m128i, __m128i)' defined but not used [-Wunused-function]
simd.cpp:    54 | static void dispReg(__m128i inL, __m128i inR) {
simd.cpp:       |             ^~~~~~~
simd.cpp: simd.cpp:38:13: warning: 'void dispReg(__m128i)' defined but not used [-Wunused-function]
simd.cpp:    38 | static void dispReg(__m128i in) {
simd.cpp:       |             ^~~~~~~
simd.cpp: simd.cpp:22:13: warning: 'void disp(__m128i)' defined but not used [-Wunused-function]
simd.cpp:    22 | static void disp(__m128i in) {
simd.cpp:       |             ^~~~

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:add_sseg++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:add_sseg++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:add_sseg++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Compiler output


encrypt.c: encrypt.c:86:16: warning: variable 'd' set but not used [-Wunused-but-set-variable]
encrypt.c:    86 |         unsigned char d, c1[8], c2[8], c3[8], c4[8];
encrypt.c:       |                       ^
encrypt.c: encrypt.c:153:16: warning: variable 'd' set but not used [-Wunused-but-set-variable]
encrypt.c:   153 |         unsigned char d, c1[8], c2[8], c3[8], c4[8];
encrypt.c:       |                       ^
encrypt.c: encrypt.c:342:32: warning: variable 'kstem' set but not used [-Wunused-but-set-variable]
encrypt.c:   342 |         unsigned char ks[64], mac[8], kstem = 0;
encrypt.c:       |                                       ^
encrypt.c: encrypt.c:393:32: warning: variable 'kstem' set but not used [-Wunused-but-set-variable]
encrypt.c:   393 |         unsigned char ks[64], tag[8], kstem = 0,check = 0;
encrypt.c:       |                                       ^
encrypt.c: 4 warnings generated.

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

Compiler output


encrypt.c: encrypt.c: In function 'Initialization':
encrypt.c: encrypt.c:86:23: warning: variable 'd' set but not used [-Wunused-but-set-variable]
encrypt.c:    86 |         unsigned char d, c1[8], c2[8], c3[8], c4[8];
encrypt.c:       |                       ^
encrypt.c: encrypt.c: In function 'Initialization_mac':
encrypt.c: encrypt.c:153:23: warning: variable 'd' set but not used [-Wunused-but-set-variable]
encrypt.c:   153 |         unsigned char d, c1[8], c2[8], c3[8], c4[8];
encrypt.c:       |                       ^
encrypt.c: encrypt.c: In function 'macgeneration_part':
encrypt.c: encrypt.c:342:39: warning: variable 'kstem' set but not used [-Wunused-but-set-variable]
encrypt.c:   342 |         unsigned char ks[64], mac[8], kstem = 0;
encrypt.c:       |                                       ^~~~~
encrypt.c: encrypt.c: In function 'tagverification_part':
encrypt.c: encrypt.c:393:39: warning: variable 'kstem' set but not used [-Wunused-but-set-variable]
encrypt.c:   393 |         unsigned char ks[64], tag[8], kstem = 0,check = 0;
encrypt.c:       |                                       ^~~~~

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Namespace violations


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 (implementation,compiler) pairs: 6, namely:
ImplementationCompiler
T:refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)