Implementation notes: amd64, wolfdale, crypto_core/aes128encrypt

Computer: wolfdale
Microarchitecture: amd64; Core 2 45nm (1067a)
Architecture: amd64
CPU ID: GenuineIntel-0001067a-bfebfbff
SUPERCOP version: 20240107
Operation: crypto_core
Primitive: aes128encrypt
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
4406169 0 018304 780 984T:dolbeau/std-4ftgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
4416844 0 019896 780 984T:dolbeau/std-4ftgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
4496087 0 019416 812 920T:dolbeau/std-4ftclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
4546836 0 020712 812 920T:dolbeau/std-4ftclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
4566843 0 021000 812 920T:dolbeau/std-4ftclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
4624806 0 017848 780 984T:dolbeau/std-2ftgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
4716199 0 017895 772 984T:dolbeau/std-4ftgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
4744732 0 018616 812 920T:dolbeau/std-2ftclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
4766184 0 016819 756 952T:dolbeau/std-4ftgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
4773676 0 017560 812 920T:dolbeau/std-1ftclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
4806125 0 017246 804 920T:dolbeau/std-4ftclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
4814138 0 016272 780 984T:dolbeau/std-2ftgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
4873090 0 013715 756 952T:dolbeau/std-1ftgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
4924167 0 015863 772 984T:dolbeau/std-2ftgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
5003144 0 016472 812 920T:dolbeau/std-1ftclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
5063755 0 017912 812 920T:dolbeau/std-1ftclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
5063813 0 016856 780 984T:dolbeau/std-1ftgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
5134757 0 018904 812 920T:dolbeau/std-2ftclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
5143151 0 015280 780 984T:dolbeau/std-1ftgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
5173170 0 014871 772 984T:dolbeau/std-1ftgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
5294176 0 015294 804 920T:dolbeau/std-2ftclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
5304136 0 017464 812 920T:dolbeau/std-2ftclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
5304163 0 014787 756 952T:dolbeau/std-2ftgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
5373192 0 014302 804 920T:dolbeau/std-1ftclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
5436406 0 018086 804 920T:dolbeau/std-4ftclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
547140 0 011432 820 920T:opensslclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
548140 0 014466 828 920T:opensslclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
549139 0 012010 804 952T:opensslgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
552140 0 014194 828 920T:opensslclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
552138 0 013387 812 952T:opensslgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
552140 0 010934 788 952T:opensslgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
553140 0 013650 828 920T:opensslclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
557138 0 012451 812 952T:opensslgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
562140 0 011968 820 920T:opensslclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
7774575 0 016254 804 920T:dolbeau/std-2ftclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
8973583 0 015262 804 920T:dolbeau/std-1ftclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
3260733339 0 016376 780 984refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
4666123688 0 017800 812 920refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
4666123688 0 017528 812 920refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
4674542760 0 016080 812 920refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
5613671900 0 012990 804 920refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
7470751730 0 013366 804 920refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
8182411744 0 013840 780 984refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
8488721704 0 013375 772 984refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
13991131465 0 012051 756 952refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212

Compiler output

Implementation: dolbeau/aesenc-int
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
core.c: core.c:29:3: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
core.c: BLOCK1(0x01);
core.c: ^
core.c: core.c:20:11: note: expanded from macro 'BLOCK1'
core.c: temp1 = _mm_aeskeygenassist_si128(temp0, IMM); \
core.c: ^
core.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/__wmmintrin_aes.h:136:12: note: expanded from macro '_mm_aeskeygenassist_si128'
core.c: (__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R))
core.c: ^
core.c: core.c:30:3: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
core.c: BLOCK1(0x02);
core.c: ^
core.c: core.c:20:11: note: expanded from macro 'BLOCK1'
core.c: temp1 = _mm_aeskeygenassist_si128(temp0, IMM); \
core.c: ^
core.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/__wmmintrin_aes.h:136:12: note: expanded from macro '_mm_aeskeygenassist_si128'
core.c: (__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R))
core.c: ^
core.c: core.c:31:3: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
core.c: BLOCK1(0x04);
core.c: ^
core.c: core.c:20:11: note: expanded from macro 'BLOCK1'
core.c: temp1 = _mm_aeskeygenassist_si128(temp0, IMM); \
core.c: ^
core.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/__wmmintrin_aes.h:136:12: note: expanded from macro '_mm_aeskeygenassist_si128'
core.c: ...

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

Compiler output

Implementation: dolbeau/aesenc-int
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
core.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:39,
core.c: from core.c:9:
core.c: core.c: In function 'aes128ni_setkey_encrypt':
core.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/wmmintrin.h:87:1: error: inlining failed in call to 'always_inline' '_mm_aeskeygenassist_si128': target specific option mismatch
core.c: 87 | _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
core.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~
core.c: core.c:20:11: note: called from here
core.c: 20 | temp1 = _mm_aeskeygenassist_si128(temp0, IMM); \
core.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
core.c: core.c:38:3: note: in expansion of macro 'BLOCK1'
core.c: 38 | BLOCK1(0x36);
core.c: | ^~~~~~
core.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:39,
core.c: from core.c:9:
core.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/wmmintrin.h:87:1: error: inlining failed in call to 'always_inline' '_mm_aeskeygenassist_si128': target specific option mismatch
core.c: 87 | _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
core.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~
core.c: core.c:20:11: note: called from here
core.c: 20 | temp1 = _mm_aeskeygenassist_si128(temp0, IMM); \
core.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
core.c: core.c:37:3: note: in expansion of macro 'BLOCK1'
core.c: 37 | BLOCK1(0x1b);
core.c: | ^~~~~~
core.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:39,
core.c: from core.c:9:
core.c: ...

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