Implementation notes: amd64, hertz, crypto_aead/aezv5

Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240716
Operation: crypto_aead
Primitive: aezv5
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
185011067 0 031928 820 1096T:aesniclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
186319709 0 046710 828 1096T:aesniclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
186819852 0 046742 828 1096T:aesniclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
188720806 0 044349 804 1160T:aesnigcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
191513983 0 035525 804 1096T:aesnigcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
197510411 0 029512 780 1064T:aesnigcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
13983940342 0 067686 844 1096T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
14126940267 0 067734 844 1096T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
37251971128 0 095083 836 1160T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
39337628920 0 050779 836 1096T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
41823327428 0 048616 836 1096T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
65156224534 0 043990 812 1064T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716

Compiler output


encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/13/include/pmmintrin.h:31,
encrypt.c:                  from /usr/lib/gcc/x86_64-linux-gnu/13/include/tmmintrin.h:31,
encrypt.c:                  from /usr/lib/gcc/x86_64-linux-gnu/13/include/smmintrin.h:32,
encrypt.c:                  from encrypt.c:46:
encrypt.c: In function '_mm_loadu_si128',
encrypt.c:     inlined from 'loadu' at encrypt.c:107:46,
encrypt.c:     inlined from 'zero_pad' at encrypt.c:217:12,
encrypt.c:     inlined from 'cipher_aez_tiny' at encrypt.c:621:18,
encrypt.c:     inlined from 'aez_encrypt' at encrypt.c:713:9,
encrypt.c:     inlined from 'crypto_aead_aezv5_aesni_timingleaks_encrypt' at encrypt.c:922:5:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/13/include/emmintrin.h:706:10: warning: array subscript '__m128i_u[2]' is partly outside array bounds of 'const unsigned char[48]' [-Warray-bounds=]
encrypt.c:   706 |   return *__P;
encrypt.c:       |          ^~~~
encrypt.c: encrypt.c: In function 'crypto_aead_aezv5_aesni_timingleaks_encrypt':
encrypt.c: encrypt.c:209:28: note: at offset [33, 48] into object 'pad' of size 48
encrypt.c:   209 | static const unsigned char pad[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
encrypt.c:       |                            ^~~

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

Compiler output


encrypt.c: In function 'xor_bytes',
encrypt.c:     inlined from 'AEZcore' at encrypt.c:254:38:
encrypt.c: encrypt.c:67:29: warning: writing 32 bytes into a region of size 16 [-Wstringop-overflow=]
encrypt.c:    67 |     while (n) { n--; dst[n] = src1[n] ^ src2[n]; }
encrypt.c:       |                      ~~~~~~~^~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c: In function 'AEZcore':
encrypt.c: encrypt.c:202:10: note: at offset [0, 15] into destination object 'tmp' of size 16
encrypt.c:   202 |     byte tmp[16], X[16], Y[16], S[16];
encrypt.c:       |          ^~~

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

Namespace violations


encrypt.o aez_decrypt T
encrypt.o aez_encrypt T
encrypt.o aez_setup T

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

Namespace violations


blake2b.o blake2b T
blake2b.o blake2b_final T
blake2b.o blake2b_init T
blake2b.o blake2b_update T
encrypt.o Decrypt T
encrypt.o Encrypt T
rijndael-alg-fst.o rijndaelDecrypt T
rijndael-alg-fst.o rijndaelDecryptRound T
rijndael-alg-fst.o rijndaelEncrypt T
rijndael-alg-fst.o rijndaelEncryptRound T
rijndael-alg-fst.o rijndaelKeySetupDec T
rijndael-alg-fst.o rijndaelKeySetupEnc 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)