Implementation notes: amd64, zen3, crypto_aead/colm127v1

Computer: zen3
Architecture: amd64
CPU ID: AuthenticAMD-00a20f10-178bfbff
SUPERCOP version: 20211108
Operation: crypto_aead
Primitive: colm127v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
16017913401 0 48836022 892 1528T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
16253114069 0 50031390 868 1592T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
16416220436 0 48838270 892 1496T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
1879656437 0 50021830 868 1592T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
1912466943 0 48822166 892 1496T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
1979564842 0 48819764 884 1496T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
2425835418 0 50020261 860 1592T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
25748918137 0 48840646 892 1528T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
2580874378 0 50018045 844 1560T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108

Checksum failure

Implementation: T:aesni4
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
7364d92c6fade8518705308c3ef01d720c57bd5d863280d8adca1ade9d06f7f7
Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aesni4
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aesni4
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aesni4
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aesni4
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:aesni4
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:aesni4
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:aesni4
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:aesni4

Compiler output

Implementation: T:aesni4
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt-colm127-optpar4.c: encrypt-colm127-optpar4.c:293:3: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'mac' that is compiled without support for 'aes'
encrypt-colm127-optpar4.c: AES_ENCRYPT4(block1,block2,block3,block4, expkey);
encrypt-colm127-optpar4.c: ^
encrypt-colm127-optpar4.c: encrypt-colm127-optpar4.c:170:12: note: expanded from macro 'AES_ENCRYPT4'
encrypt-colm127-optpar4.c: block1 = _mm_aesenc_si128 (block1,expkey[r]); \
encrypt-colm127-optpar4.c: ^
encrypt-colm127-optpar4.c: encrypt-colm127-optpar4.c:293:3: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'mac' that is compiled without support for 'aes'
encrypt-colm127-optpar4.c: encrypt-colm127-optpar4.c:171:12: note: expanded from macro 'AES_ENCRYPT4'
encrypt-colm127-optpar4.c: block2 = _mm_aesenc_si128 (block2,expkey[r]); \
encrypt-colm127-optpar4.c: ^
encrypt-colm127-optpar4.c: encrypt-colm127-optpar4.c:293:3: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'mac' that is compiled without support for 'aes'
encrypt-colm127-optpar4.c: encrypt-colm127-optpar4.c:172:12: note: expanded from macro 'AES_ENCRYPT4'
encrypt-colm127-optpar4.c: block3 = _mm_aesenc_si128 (block3,expkey[r]); \
encrypt-colm127-optpar4.c: ^
encrypt-colm127-optpar4.c: encrypt-colm127-optpar4.c:293:3: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'mac' that is compiled without support for 'aes'
encrypt-colm127-optpar4.c: encrypt-colm127-optpar4.c:173:12: note: expanded from macro 'AES_ENCRYPT4'
encrypt-colm127-optpar4.c: block4 = _mm_aesenc_si128 (block4,expkey[r]); \
encrypt-colm127-optpar4.c: ^
encrypt-colm127-optpar4.c: encrypt-colm127-optpar4.c:293:3: error: always_inline function '_mm_aesenclast_si128' requires target feature 'aes', but would be inlined into function 'mac' that is compiled without support for 'aes'
encrypt-colm127-optpar4.c: encrypt-colm127-optpar4.c:175:11: note: expanded from macro 'AES_ENCRYPT4'
encrypt-colm127-optpar4.c: block1 = _mm_aesenclast_si128 (block1,expkey[10]); \
encrypt-colm127-optpar4.c: ^
encrypt-colm127-optpar4.c: encrypt-colm127-optpar4.c:293:3: error: always_inline function '_mm_aesenclast_si128' requires target feature 'aes', but would be inlined into function 'mac' that is compiled without support for 'aes'
encrypt-colm127-optpar4.c: encrypt-colm127-optpar4.c:176:11: note: expanded from macro 'AES_ENCRYPT4'
encrypt-colm127-optpar4.c: block2 = _mm_aesenclast_si128 (block2,expkey[10]); \
encrypt-colm127-optpar4.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aesni4

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.c: encrypt.c: In function ‘crypto_aead_colm127v1_ref_timingleaks_encrypt’:
encrypt.c: encrypt.c:84:9: warning: ‘process_AD’ accessing 16 bytes in a region of size 8 [-Wstringop-overflow=]
encrypt.c: 84 | process_AD(W, Delta_0, npub, param, ad, adlen);
encrypt.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:84:9: note: referencing argument 4 of type ‘unsigned char *’
encrypt.c: encrypt.c:15:13: note: in a call to function ‘process_AD’
encrypt.c: 15 | static void process_AD(
encrypt.c: | ^~~~~~~~~~
encrypt.c: encrypt.c:84:9: warning: ‘process_AD’ accessing 16 bytes in a region of size 8 [-Wstringop-overflow=]
encrypt.c: 84 | process_AD(W, Delta_0, npub, param, ad, adlen);
encrypt.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:84:9: note: referencing argument 4 of type ‘unsigned char *’
encrypt.c: encrypt.c:15:13: note: in a call to function ‘process_AD’
encrypt.c: 15 | static void process_AD(
encrypt.c: | ^~~~~~~~~~
encrypt.c: encrypt.c: In function ‘crypto_aead_colm127v1_ref_timingleaks_decrypt’:
encrypt.c: encrypt.c:164:9: warning: ‘process_AD’ accessing 16 bytes in a region of size 8 [-Wstringop-overflow=]
encrypt.c: 164 | process_AD(W, Delta_0, npub, param, ad, adlen);
encrypt.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:164:9: note: referencing argument 4 of type ‘unsigned char *’
encrypt.c: encrypt.c:15:13: note: in a call to function ‘process_AD’
encrypt.c: 15 | static void process_AD(
encrypt.c: | ^~~~~~~~~~

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

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.c: encrypt.c: In function ‘crypto_aead_colm127v1_ref_timingleaks_encrypt’:
encrypt.c: encrypt.c:84:9: warning: ‘process_AD’ accessing 16 bytes in a region of size 8 [-Wstringop-overflow=]
encrypt.c: 84 | process_AD(W, Delta_0, npub, param, ad, adlen);
encrypt.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:84:9: note: referencing argument 4 of type ‘unsigned char *’
encrypt.c: encrypt.c:15:13: note: in a call to function ‘process_AD’
encrypt.c: 15 | static void process_AD(
encrypt.c: | ^~~~~~~~~~
encrypt.c: encrypt.c: In function ‘crypto_aead_colm127v1_ref_timingleaks_decrypt’:
encrypt.c: encrypt.c:164:9: warning: ‘process_AD’ accessing 16 bytes in a region of size 8 [-Wstringop-overflow=]
encrypt.c: 164 | process_AD(W, Delta_0, npub, param, ad, adlen);
encrypt.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:164:9: note: referencing argument 4 of type ‘unsigned char *’
encrypt.c: encrypt.c:15:13: note: in a call to function ‘process_AD’
encrypt.c: 15 | static void process_AD(
encrypt.c: | ^~~~~~~~~~

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref