Implementation notes: amd64, h8bobcat, crypto_aead/aesjambuv1

Computer: h8bobcat
Microarchitecture: amd64; Bobcat (500f10)
Architecture: amd64
CPU ID: AuthenticAMD-00500f20-178bfbff
SUPERCOP version: 20240107
Operation: crypto_aead
Primitive: aesjambuv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2484255742 5120 026925 5912 928T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
2541495628 5120 024552 5888 896T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
2581446006 5120 028693 5912 928T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
2594365228 5120 027068 5944 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
2609795138 5120 023862 5936 856T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
2661285903 5120 026396 5904 928T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
2766115339 5120 025700 5944 856T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
2767975339 5120 026844 5944 856T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
2769635292 5120 024580 5944 856T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212

Compiler output

Implementation: T:aesni
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: encrypt.c:277:9: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
encrypt.c: K[1] = KEYEXP(K[0], 0x01);
encrypt.c: ^
encrypt.c: encrypt.c:19:42: note: expanded from macro 'KEYEXP'
encrypt.c: #define KEYEXP(K, I) aes128_keyexpand(K, _mm_aeskeygenassist_si128(K, I))
encrypt.c: ^
encrypt.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/__wmmintrin_aes.h:136:13: note: expanded from macro '_mm_aeskeygenassist_si128'
encrypt.c: ((__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R)))
encrypt.c: ^
encrypt.c: encrypt.c:278:9: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
encrypt.c: K[2] = KEYEXP(K[1], 0x02);
encrypt.c: ^
encrypt.c: encrypt.c:19:42: note: expanded from macro 'KEYEXP'
encrypt.c: #define KEYEXP(K, I) aes128_keyexpand(K, _mm_aeskeygenassist_si128(K, I))
encrypt.c: ^
encrypt.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/__wmmintrin_aes.h:136:13: note: expanded from macro '_mm_aeskeygenassist_si128'
encrypt.c: ((__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R)))
encrypt.c: ^
encrypt.c: encrypt.c:279:9: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
encrypt.c: K[3] = KEYEXP(K[2], 0x04);
encrypt.c: ^
encrypt.c: encrypt.c:19:42: note: expanded from macro 'KEYEXP'
encrypt.c: #define KEYEXP(K, I) aes128_keyexpand(K, _mm_aeskeygenassist_si128(K, I))
encrypt.c: ^
encrypt.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/__wmmintrin_aes.h:136:13: note: expanded from macro '_mm_aeskeygenassist_si128'
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aesni
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aesni
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aesni
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aesni
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aesni

Compiler output

Implementation: T:aesni
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:41,
encrypt.c: from encrypt.c:3:
encrypt.c: encrypt.c: In function 'aes_enc_128':
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/wmmintrin.h:69:1: error: inlining failed in call to 'always_inline' '_mm_aesenclast_si128': target specific option mismatch
encrypt.c: 69 | _mm_aesenclast_si128 (__m128i __X, __m128i __Y)
encrypt.c: | ^~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:57:18: note: called from here
encrypt.c: 57 | *state = _mm_aesenclast_si128(*state, key[10]);
encrypt.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:41,
encrypt.c: from encrypt.c:3:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/wmmintrin.h:61:1: error: inlining failed in call to 'always_inline' '_mm_aesenc_si128': target specific option mismatch
encrypt.c: 61 | _mm_aesenc_si128 (__m128i __X, __m128i __Y)
encrypt.c: | ^~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:55:18: note: called from here
encrypt.c: 55 | *state = _mm_aesenc_si128(*state, key[9]);
encrypt.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:41,
encrypt.c: from encrypt.c:3:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/wmmintrin.h:61:1: error: inlining failed in call to 'always_inline' '_mm_aesenc_si128': target specific option mismatch
encrypt.c: 61 | _mm_aesenc_si128 (__m128i __X, __m128i __Y)
encrypt.c: | ^~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:53:18: note: called from here
encrypt.c: 53 | *state = _mm_aesenc_si128(*state, key[8]);
encrypt.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: ...

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