Implementation notes: amd64, hertz, crypto_aead/aezv3

Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240425
Operation: crypto_aead
Primitive: aezv3
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
182018045 0 044783 828 1096T:aesniclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
182018061 0 044911 828 1096T:aesniclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
18359358 0 030128 820 1096T:aesniclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
187417596 0 041525 804 1160T:aesnigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
187610479 0 032429 804 1096T:aesnigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
19599145 0 028608 780 1064T:aesnigcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
61880938309 0 065630 844 1096T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
68838237536 0 064734 844 1096T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
82531053108 0 077380 828 1160T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
83336725852 0 048076 828 1096T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217
91343625438 0 046528 836 1096T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042920240425
118790422673 0 042391 804 1064T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231217

Compiler output

Implementation: T:aesni
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
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' writing between 4294967264 and 4294967279 bytes into a region of size 16 overflows the destination [-Wstringop-overflow=]
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: destination object 'tmp' of size 16
aez_ni.c: 122 | __m128i tmp; unsigned i;
aez_ni.c: | ^~~

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:aesni

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
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 (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref