Implementation notes: amd64, hydra4, crypto_core/aes256encrypt

Computer: hydra4
Microarchitecture: amd64; K10 32nm (300f10)
Architecture: amd64
CPU ID: AuthenticAMD-00300f10-178bfbff
SUPERCOP version: 20240107
Operation: crypto_core
Primitive: aes256encrypt
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
5536259 0 018696 780 984T:dolbeau/std-4ftgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
5646132 0 019232 812 920T:dolbeau/std-4ftclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
5646132 0 020064 812 920T:dolbeau/std-4ftclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
5666132 0 020064 812 920T:dolbeau/std-4ftclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
5696263 0 019872 780 984T:dolbeau/std-4ftgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
5724206 0 016648 780 984T:dolbeau/std-2ftgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
5736156 0 017318 804 920T:dolbeau/std-4ftclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
5816406 0 018142 804 920T:dolbeau/std-4ftclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
5904211 0 017824 780 984T:dolbeau/std-2ftgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
5973257 0 015688 780 984T:dolbeau/std-1ftgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
6003229 0 016832 780 984T:dolbeau/std-1ftgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
6066278 0 018015 772 984T:dolbeau/std-4ftgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
6114128 0 017216 812 920T:dolbeau/std-2ftclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
6144128 0 018080 812 920T:dolbeau/std-2ftclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
6154128 0 018080 812 920T:dolbeau/std-2ftclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
6194156 0 015302 804 920T:dolbeau/std-2ftclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
6263157 0 013867 756 952T:dolbeau/std-1ftgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
6314253 0 014955 756 952T:dolbeau/std-2ftgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
6376268 0 016971 756 952T:dolbeau/std-4ftgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
6504230 0 015967 772 984T:dolbeau/std-2ftgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
650145 0 011026 788 952T:opensslgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
654143 0 012783 812 952T:opensslgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
654143 0 013991 812 952T:opensslgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
656145 0 011492 820 920T:opensslclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
658145 0 014270 828 920T:opensslclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
659145 0 014270 828 920T:opensslclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
662144 0 012070 804 952T:opensslgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
668145 0 013438 828 920T:opensslclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
669145 0 012028 820 920T:opensslclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
7053205 0 014943 772 984T:dolbeau/std-1ftgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
8823270 0 014438 804 920T:dolbeau/std-1ftclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
8853197 0 017152 812 920T:dolbeau/std-1ftclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
9493217 0 017152 812 920T:dolbeau/std-1ftclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
9503217 0 016320 812 920T:dolbeau/std-1ftclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
9804559 0 016294 804 920T:dolbeau/std-2ftclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
12083567 0 015302 804 920T:dolbeau/std-1ftclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
3496443756 0 017384 780 984refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4837723880 0 017808 812 920refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
4837803880 0 017808 812 920refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
8396512873 0 015960 812 920refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
10359931568 0 012718 804 920refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
12812601810 0 013518 804 920refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
14740661893 0 014312 780 984refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
16532081795 0 013503 772 984refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
16572961598 0 012259 756 952refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212

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:43:3: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
core.c: BLOCK1(0x01);
core.c: ^
core.c: core.c:24:11: note: expanded from macro 'BLOCK1'
core.c: temp1 = _mm_aeskeygenassist_si128(temp2, 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:44:3: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
core.c: BLOCK2(0x01);
core.c: ^
core.c: core.c:34:11: note: expanded from macro 'BLOCK2'
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:46:3: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
core.c: BLOCK1(0x02);
core.c: ^
core.c: core.c:24:11: note: expanded from macro 'BLOCK1'
core.c: temp1 = _mm_aeskeygenassist_si128(temp2, 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 'aes256ni_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:24:11: note: called from here
core.c: 24 | temp1 = _mm_aeskeygenassist_si128(temp2, IMM); \
core.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
core.c: core.c:61:3: note: in expansion of macro 'BLOCK1'
core.c: 61 | BLOCK1(0x40);
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:34:11: note: called from here
core.c: 34 | temp1 = _mm_aeskeygenassist_si128(temp0, IMM); \
core.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
core.c: core.c:59:3: note: in expansion of macro 'BLOCK2'
core.c: 59 | BLOCK2(0x20);
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