Implementation notes: amd64, hertz, crypto_aead/aezv3
Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240808
Operation: crypto_aead
Primitive: aezv3
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
1808 | 18045 0 0 | 44783 828 1096 | T:aesni | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
1810 | 18061 0 0 | 44911 828 1096 | T:aesni | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
1851 | 9358 0 0 | 30128 820 1096 | T:aesni | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
1870 | 17596 0 0 | 41525 804 1160 | T:aesni | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
1873 | 10479 0 0 | 32405 804 1096 | T:aesni | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
1926 | 8527 0 0 | 28008 780 1064 | T:aesni | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
616785 | 38309 0 0 | 65630 844 1096 | T:ref | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
690034 | 37536 0 0 | 64734 844 1096 | T:ref | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
823409 | 52804 0 0 | 77171 836 1160 | T:ref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
835530 | 25740 0 0 | 48035 836 1096 | T:ref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
928279 | 25438 0 0 | 46528 836 1096 | T:ref | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
1192691 | 22826 0 0 | 42646 812 1064 | T:ref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240809 | 20240808 |
Compiler output
aez_ni.c: In file included from aez_ni.c:37:
aez_ni.c: In function '_mm_loadu_si128',
aez_ni.c: inlined from 'zero_pad' at aez_ni.c:67:12,
aez_ni.c: inlined from 'cipher_aez_tiny' at aez_ni.c:498:18,
aez_ni.c: inlined from 'aez_encrypt' at aez_ni.c:588:9,
aez_ni.c: inlined from 'crypto_aead_aezv3_aesni_timingleaks_encrypt' at aez_ni.c:637:5:
aez_ni.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=]
aez_ni.c: 706 | return *__P;
aez_ni.c: | ^~~~
aez_ni.c: aez_ni.c: In function 'crypto_aead_aezv3_aesni_timingleaks_encrypt':
aez_ni.c: aez_ni.c:59:28: note: at offset [33, 48] into object 'pad' of size 48
aez_ni.c: 59 | static const unsigned char pad[] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
aez_ni.c: | ^~~
aez_ni.c: In function 'load_partial',
aez_ni.c: inlined from 'load_partial' at aez_ni.c:119:16,
aez_ni.c: inlined from 'cipher_aez_tiny' at aez_ni.c:498:18,
aez_ni.c: inlined from 'aez_encrypt' at aez_ni.c:588:9,
aez_ni.c: inlined from 'crypto_aead_aezv3_aesni_timingleaks_encrypt' at aez_ni.c:637:5:
aez_ni.c: aez_ni.c:123:46: warning: '__builtin_memcpy' forming offset [16, 4294967263] is out of the bounds [0, 16] of object 'tmp' with type '__m128i' [-Warray-bounds=]
aez_ni.c: 123 | for (i=0; i<n; i++) ((char*)&tmp)[i] = ((char*)p)[i];
aez_ni.c: | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
aez_ni.c: aez_ni.c: In function 'crypto_aead_aezv3_aesni_timingleaks_encrypt':
aez_ni.c: aez_ni.c:122:17: note: 'tmp' declared here
aez_ni.c: 122 | __m128i tmp; unsigned i;
aez_ni.c: | ^~~
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:aesni | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
Compiler output
aez_ref.c: In function 'xor_bytes',
aez_ref.c: inlined from 'AEZcore' at aez_ref.c:299:38:
aez_ref.c: aez_ref.c:64:29: warning: writing 32 bytes into a region of size 16 [-Wstringop-overflow=]
aez_ref.c: 64 | while (n) { n--; dst[n] = src1[n] ^ src2[n]; }
aez_ref.c: | ~~~~~~~^~~~~~~~~~~~~~~~~~~
aez_ref.c: aez_ref.c: In function 'AEZcore':
aez_ref.c: aez_ref.c:247:10: note: at offset [0, 15] into destination object 'tmp' of size 16
aez_ref.c: 247 | byte tmp[16], X[16], Y[16], S[16];
aez_ref.c: | ^~~
aez_ref.c: In function 'xor_bytes',
aez_ref.c: inlined from 'AEZcore.constprop' at aez_ref.c:299:38:
aez_ref.c: aez_ref.c:64:29: warning: writing 32 bytes into a region of size 16 [-Wstringop-overflow=]
aez_ref.c: 64 | while (n) { n--; dst[n] = src1[n] ^ src2[n]; }
aez_ref.c: | ~~~~~~~^~~~~~~~~~~~~~~~~~~
aez_ref.c: aez_ref.c: In function 'AEZcore.constprop':
aez_ref.c: aez_ref.c:247:10: note: at offset [0, 15] into destination object 'tmp' of size 16
aez_ref.c: 247 | byte tmp[16], X[16], Y[16], S[16];
aez_ref.c: | ^~~
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
Namespace violations
aez_ni.o aez_decrypt T
aez_ni.o aez_encrypt T
aez_ni.o aez_hash T
aez_ni.o aez_setup T
aez_ni.o cipher_aez_core T
aez_ni.o cipher_aez_tiny T
aez_ni.o pass_one T
aez_ni.o pass_two T
Number of similar (implementation,compiler) pairs: 6, namely:
Implementation | Compiler |
T:aesni | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:aesni | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:aesni | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:aesni | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:aesni | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:aesni | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
Namespace violations
aez_ref.o Decrypt T
aez_ref.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:
Implementation | Compiler |
T:ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |