Implementation notes: amd64, zen3, crypto_aead/colm0v1

Computer: zen3
Architecture: amd64
CPU ID: AuthenticAMD-00a20f10-178bfbff
SUPERCOP version: 20211108
Operation: crypto_aead
Primitive: colm0v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
69179134 0 023590 852 1016T:aesni8clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
71727388 0 022104 860 1016T:aesni4clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
72936876 0 021334 852 1016T:aesni4clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
735617119 0 039592 860 1048T:aesni4clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
739317119 0 039832 860 1048T:aesni4clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
743114840 0 031736 836 1080T:aesni8gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
75379708 0 024696 836 1080T:aesni8gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
778120815 0 043528 860 1048T:aesni8clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
778311831 0 028720 836 1080T:aesni4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
778820815 0 043288 860 1048T:aesni8clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
78387097 0 022080 836 1080T:aesni4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
79205241 0 018495 812 1048T:aesni8gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
80183855 0 017103 812 1048T:aesni4gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
81479759 0 024472 860 1016T:aesni8clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
83787511 0 021935 828 1080T:aesni8gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
87005552 0 019983 828 1080T:aesni4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
15841912377 0 48835126 892 1528T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
15872618925 0 48836806 892 1496T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
15951213477 0 50030782 868 1592T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
1894964732 0 48819644 884 1496T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
1898475887 0 50021270 868 1592T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
1945006767 0 48821942 892 1496T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
2429285494 0 50020341 860 1592T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108
25745917011 0 48839686 892 1528T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022020620211108
2579574285 0 50017917 844 1560T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022020620211108

Compiler output

Implementation: T:aesni4
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt-optpar4.c: encrypt-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-optpar4.c: AES_ENCRYPT4(block1,block2,block3,block4, expkey);
encrypt-optpar4.c: ^
encrypt-optpar4.c: encrypt-optpar4.c:170:12: note: expanded from macro 'AES_ENCRYPT4'
encrypt-optpar4.c: block1 = _mm_aesenc_si128 (block1,expkey[r]); \
encrypt-optpar4.c: ^
encrypt-optpar4.c: encrypt-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-optpar4.c: encrypt-optpar4.c:171:12: note: expanded from macro 'AES_ENCRYPT4'
encrypt-optpar4.c: block2 = _mm_aesenc_si128 (block2,expkey[r]); \
encrypt-optpar4.c: ^
encrypt-optpar4.c: encrypt-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-optpar4.c: encrypt-optpar4.c:172:12: note: expanded from macro 'AES_ENCRYPT4'
encrypt-optpar4.c: block3 = _mm_aesenc_si128 (block3,expkey[r]); \
encrypt-optpar4.c: ^
encrypt-optpar4.c: encrypt-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-optpar4.c: encrypt-optpar4.c:173:12: note: expanded from macro 'AES_ENCRYPT4'
encrypt-optpar4.c: block4 = _mm_aesenc_si128 (block4,expkey[r]); \
encrypt-optpar4.c: ^
encrypt-optpar4.c: encrypt-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-optpar4.c: encrypt-optpar4.c:175:11: note: expanded from macro 'AES_ENCRYPT4'
encrypt-optpar4.c: block1 = _mm_aesenclast_si128 (block1,expkey[10]); \
encrypt-optpar4.c: ^
encrypt-optpar4.c: encrypt-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-optpar4.c: encrypt-optpar4.c:176:11: note: expanded from macro 'AES_ENCRYPT4'
encrypt-optpar4.c: block2 = _mm_aesenclast_si128 (block2,expkey[10]); \
encrypt-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:aesni8
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt-optpar8.c: encrypt-optpar8.c:339: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-optpar8.c: AES_ENCRYPT8(block1,block2,block3,block4,block5,block6,block7,block8, expkey);
encrypt-optpar8.c: ^
encrypt-optpar8.c: encrypt-optpar8.c:195:12: note: expanded from macro 'AES_ENCRYPT8'
encrypt-optpar8.c: block1 = _mm_aesenc_si128 (block1,expkey[r]); \
encrypt-optpar8.c: ^
encrypt-optpar8.c: encrypt-optpar8.c:339: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-optpar8.c: encrypt-optpar8.c:196:12: note: expanded from macro 'AES_ENCRYPT8'
encrypt-optpar8.c: block2 = _mm_aesenc_si128 (block2,expkey[r]); \
encrypt-optpar8.c: ^
encrypt-optpar8.c: encrypt-optpar8.c:339: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-optpar8.c: encrypt-optpar8.c:197:12: note: expanded from macro 'AES_ENCRYPT8'
encrypt-optpar8.c: block3 = _mm_aesenc_si128 (block3,expkey[r]); \
encrypt-optpar8.c: ^
encrypt-optpar8.c: encrypt-optpar8.c:339: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-optpar8.c: encrypt-optpar8.c:198:12: note: expanded from macro 'AES_ENCRYPT8'
encrypt-optpar8.c: block4 = _mm_aesenc_si128 (block4,expkey[r]); \
encrypt-optpar8.c: ^
encrypt-optpar8.c: encrypt-optpar8.c:339: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-optpar8.c: encrypt-optpar8.c:199:12: note: expanded from macro 'AES_ENCRYPT8'
encrypt-optpar8.c: block5 = _mm_aesenc_si128 (block5, expkey[r]); \
encrypt-optpar8.c: ^
encrypt-optpar8.c: encrypt-optpar8.c:339: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-optpar8.c: encrypt-optpar8.c:200:12: note: expanded from macro 'AES_ENCRYPT8'
encrypt-optpar8.c: block6 = _mm_aesenc_si128 (block6, expkey[r]); \
encrypt-optpar8.c: ...

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

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_colm0v1_ref_timingleaks_encrypt’:
encrypt.c: encrypt.c:82:9: warning: ‘process_AD’ accessing 16 bytes in a region of size 8 [-Wstringop-overflow=]
encrypt.c: 82 | process_AD(W, Delta_0, npub, param, ad, adlen);
encrypt.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:82:9: note: referencing argument 4 of type ‘unsigned char *’
encrypt.c: encrypt.c:12:13: note: in a call to function ‘process_AD’
encrypt.c: 12 | static void process_AD(
encrypt.c: | ^~~~~~~~~~
encrypt.c: encrypt.c: In function ‘crypto_aead_colm0v1_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:12:13: note: in a call to function ‘process_AD’
encrypt.c: 12 | static void process_AD(
encrypt.c: | ^~~~~~~~~~

Number of similar (compiler,implementation) pairs: 4, 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
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