Implementation notes: amd64, margaux, crypto_core/aes256decrypt

Computer: margaux
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20210604
Operation: crypto_core
Primitive: aes256decrypt
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
88211622 0 026313 804 976T:dolbeau/std-4rt-nodkgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
90311642 0 024016 796 976T:dolbeau/std-4rt-nodkgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
90411649 0 023896 796 976T:dolbeau/std-4rt-nodkgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
90511569 0 024492 804 912T:dolbeau/std-4rt-nodkclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
90611569 0 024492 804 912T:dolbeau/std-4rt-nodkclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
90611569 0 025612 804 912T:dolbeau/std-4rt-nodkclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
90711569 0 025836 804 912T:dolbeau/std-4rt-nodkclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
90811549 0 022522 796 912T:dolbeau/std-4rt-nodkclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
9215460 0 017824 796 976T:dolbeau/std-1rt-nodkgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
9265463 0 020153 804 976T:dolbeau/std-1rt-nodkgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
9315464 0 017704 796 976T:dolbeau/std-1rt-nodkgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
9317495 0 019736 796 976T:dolbeau/std-2rt-nodkgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
9497496 0 022185 804 976T:dolbeau/std-2rt-nodkgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
9567528 0 019888 796 976T:dolbeau/std-2rt-nodkgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
9935518 0 016772 780 944T:dolbeau/std-1rt-nodkgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
10367594 0 018852 780 944T:dolbeau/std-2rt-nodkgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
107211682 0 022948 780 944T:dolbeau/std-4rt-nodkgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
11317673 0 021932 804 912T:dolbeau/std-2rt-nodkclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
11357673 0 020588 804 912T:dolbeau/std-2rt-nodkclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
11367673 0 021708 804 912T:dolbeau/std-2rt-nodkclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
11377662 0 018634 796 912T:dolbeau/std-2rt-nodkclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
11447673 0 020588 804 912T:dolbeau/std-2rt-nodkclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
11625583 0 018492 804 912T:dolbeau/std-1rt-nodkclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
11655583 0 018492 804 912T:dolbeau/std-1rt-nodkclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
11655583 0 016554 796 912T:dolbeau/std-1rt-nodkclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
11735583 0 019612 804 912T:dolbeau/std-1rt-nodkclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
11745583 0 019836 804 912T:dolbeau/std-1rt-nodkclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
1850132 0 014366 820 912T:opensslclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
1853132 0 011292 812 912T:opensslclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
1854132 0 014590 820 912T:opensslclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
1858132 0 013246 820 912T:opensslclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
1862187 0 015108 836 944T:opensslgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
1865132 0 013246 820 912T:opensslclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
1868190 0 012627 828 944T:opensslgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
1870187 0 012747 828 944T:opensslgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
2040189 0 011615 812 944T:opensslgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
4804666287 0 021033 804 976refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
7406353736 0 016652 804 912refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
7602616584 0 020620 804 912refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
7621233736 0 016652 804 912refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
7629366584 0 020844 804 912refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
13793102372 0 014600 796 976refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
14128722521 0 014880 796 976refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423
15244673027 0 013850 796 912refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021050320210423
20587732159 0 013380 780 944refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021050320210423

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:72:16: error: always_inline function '_mm_aesimc_si128' requires target feature 'aes', but would be inlined into function 'aes256ni_setkey_decrypt' that is compiled without support for 'aes'
core.c: rkeys[i] = _mm_aesimc_si128(tkeys[14-i]);
core.c: ^
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-6.0/lib/clang/6.0.0/include/__wmmintrin_aes.h:147: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-6.0/lib/clang/6.0.0/include/__wmmintrin_aes.h:147: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: ...

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/7/include/immintrin.h:39:0,
core.c: from core.c:9:
core.c: core.c: In function 'aes256ni_setkey_encrypt':
core.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch
core.c: _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
core.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
core.c: core.c:24:9: note: called from here
core.c: temp1 = _mm_aeskeygenassist_si128(temp2, IMM); \
core.c: ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
core.c: core.c:61:3: note: in expansion of macro 'BLOCK1'
core.c: BLOCK1(0x40);
core.c: ^~~~~~
core.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:39:0,
core.c: from core.c:9:
core.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/wmmintrin.h:87:1: error: inlining failed in call to always_inline '_mm_aeskeygenassist_si128': target specific option mismatch
core.c: _mm_aeskeygenassist_si128 (__m128i __X, const int __C)
core.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
core.c: core.c:34:9: note: called from here
core.c: temp1 = _mm_aeskeygenassist_si128(temp0, IMM); \
core.c: ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
core.c: core.c:59:3: note: in expansion of macro 'BLOCK2'
core.c: BLOCK2(0x20);
core.c: ^~~~~~
core.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:39:0,
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