Implementation notes: amd64, wolfdale, crypto_aead/aes128poetv1aes128

Computer: wolfdale
Microarchitecture: amd64; Core 2 45nm (1067a)
Architecture: amd64
CPU ID: GenuineIntel-0001067a-bfebfbff
SUPERCOP version: 20240425
Operation: crypto_aead
Primitive: aes128poetv1aes128
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
23920721425 0 034987 828 1016T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425
23931320420 0 033483 772 1048T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
23985827386 0 043008 796 1080T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
24583122651 0 037368 796 1080T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
25515121890 0 036175 788 1080T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042720240425
26444425529 0 042221 836 1016T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425
26461524857 0 040733 836 1016T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425
26882925835 0 042397 836 1016T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425
28434321730 0 035987 828 1016T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042720240425

Compiler output

Implementation: T:ni
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
poet.c: poet.c:81:13: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
poet.c: temp2 = _mm_aeskeygenassist_si128(temp1, 0x1);
poet.c: ^
poet.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/__wmmintrin_aes.h:136:12: note: expanded from macro '_mm_aeskeygenassist_si128'
poet.c: (__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R))
poet.c: ^
poet.c: poet.c:85:13: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
poet.c: temp2 = _mm_aeskeygenassist_si128(temp1, 0x2);
poet.c: ^
poet.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/__wmmintrin_aes.h:136:12: note: expanded from macro '_mm_aeskeygenassist_si128'
poet.c: (__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R))
poet.c: ^
poet.c: poet.c:89:13: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
poet.c: temp2 = _mm_aeskeygenassist_si128(temp1, 0x4);
poet.c: ^
poet.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/__wmmintrin_aes.h:136:12: note: expanded from macro '_mm_aeskeygenassist_si128'
poet.c: (__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R))
poet.c: ^
poet.c: poet.c:93:13: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
poet.c: temp2 = _mm_aeskeygenassist_si128(temp1, 0x8);
poet.c: ^
poet.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/__wmmintrin_aes.h:136:12: note: expanded from macro '_mm_aeskeygenassist_si128'
poet.c: (__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R))
poet.c: ^
poet.c: poet.c:97:13: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
poet.c: ...

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

Compiler output

Implementation: T:ni
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
poet.c: poet.c:450:26: error: '__builtin_ia32_vec_set_v16qi' needs target feature sse4.1
poet.c: ctx->l = aes_encrypt(one, expanded_key);
poet.c: ^
poet.c: poet.c:144:24: note: expanded from macro 'one'
poet.c: #define one _mm_insert_epi8(zero, 1, 15)
poet.c: ^
poet.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/smmintrin.h:928:12: note: expanded from macro '_mm_insert_epi8'
poet.c: (__m128i)__builtin_ia32_vec_set_v16qi((__v16qi)(__m128i)(X), \
poet.c: ^
poet.c: poet.c:452:25: error: '__builtin_ia32_vec_set_v16qi' needs target feature sse4.1
poet.c: k_axu = aes_encrypt(two, expanded_key);
poet.c: ^
poet.c: poet.c:145:24: note: expanded from macro 'two'
poet.c: #define two _mm_insert_epi8(zero, 2, 15)
poet.c: ^
poet.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/smmintrin.h:928:12: note: expanded from macro '_mm_insert_epi8'
poet.c: (__m128i)__builtin_ia32_vec_set_v16qi((__v16qi)(__m128i)(X), \
poet.c: ^
poet.c: poet.c:455:25: error: '__builtin_ia32_vec_set_v16qi' needs target feature sse4.1
poet.c: k_axu = aes_encrypt(three, expanded_key);
poet.c: ^
poet.c: poet.c:146:24: note: expanded from macro 'three'
poet.c: #define three _mm_insert_epi8(zero, 3, 15)
poet.c: ^
poet.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/smmintrin.h:928:12: note: expanded from macro '_mm_insert_epi8'
poet.c: ...

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

Compiler output

Implementation: T:ni
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
poet.c: In file included from poet.c:31:
poet.c: poet.c: In function 'aes_revert_key':
poet.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/wmmintrin.h:77:1: error: inlining failed in call to 'always_inline' '_mm_aesimc_si128': target specific option mismatch
poet.c: 77 | _mm_aesimc_si128 (__m128i __X)
poet.c: | ^~~~~~~~~~~~~~~~
poet.c: poet.c:51:18: note: called from here
poet.c: 51 | dec_key[1] = _mm_aesimc_si128(enc_key[9]);
poet.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
poet.c: In file included from poet.c:31:
poet.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/wmmintrin.h:77:1: error: inlining failed in call to 'always_inline' '_mm_aesimc_si128': target specific option mismatch
poet.c: 77 | _mm_aesimc_si128 (__m128i __X)
poet.c: | ^~~~~~~~~~~~~~~~
poet.c: poet.c:50:18: note: called from here
poet.c: 50 | dec_key[2] = _mm_aesimc_si128(enc_key[8]);
poet.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
poet.c: In file included from poet.c:31:
poet.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/wmmintrin.h:77:1: error: inlining failed in call to 'always_inline' '_mm_aesimc_si128': target specific option mismatch
poet.c: 77 | _mm_aesimc_si128 (__m128i __X)
poet.c: | ^~~~~~~~~~~~~~~~
poet.c: poet.c:49:18: note: called from here
poet.c: 49 | dec_key[3] = _mm_aesimc_si128(enc_key[7]);
poet.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
poet.c: In file included from poet.c:31:
poet.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/wmmintrin.h:77:1: error: inlining failed in call to 'always_inline' '_mm_aesimc_si128': target specific option mismatch
poet.c: 77 | _mm_aesimc_si128 (__m128i __X)
poet.c: ...

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