Implementation notes: amd64, icelake2, crypto_core/aes256decrypt

Computer: icelake2
Architecture: amd64
CPU ID: GenuineIntel-000706e5-bfebfbff
SUPERCOP version: 20221005
Operation: crypto_core
Primitive: aes256decrypt
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
211642 0 014858 772 960dolbeau/aesenc-intclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
211642 0 014930 772 1024dolbeau/aesenc-intclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
212642 0 011706 772 928dolbeau/aesenc-intclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
212642 0 012540 764 1024dolbeau/aesenc-intclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
214690 0 014002 764 992dolbeau/aesenc-intgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
245757 0 010809 740 960dolbeau/aesenc-intgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
246733 0 011841 756 992dolbeau/aesenc-intgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
250761 0 012266 764 992dolbeau/aesenc-intgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
60211603 0 022674 772 928T:dolbeau/std-4rt-nodkclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
60811630 0 024698 772 928T:dolbeau/std-4rt-nodkclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
60911597 0 025898 772 1024T:dolbeau/std-4rt-nodkclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
61211597 0 025826 772 960T:dolbeau/std-4rt-nodkclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
6285509 0 018570 772 928T:dolbeau/std-1rt-nodkclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
6365532 0 019834 772 1024T:dolbeau/std-1rt-nodkclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
6425532 0 019762 772 960T:dolbeau/std-1rt-nodkclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
6497595 0 020922 764 992T:dolbeau/std-2rt-nodkgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
6585565 0 016642 772 928T:dolbeau/std-1rt-nodkclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
6607595 0 019114 764 992T:dolbeau/std-2rt-nodkgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
6607604 0 017689 740 960T:dolbeau/std-2rt-nodkgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
6685573 0 017082 764 992T:dolbeau/std-1rt-nodkgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
6687639 0 021858 772 960T:dolbeau/std-2rt-nodkclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
6687679 0 018754 772 928T:dolbeau/std-2rt-nodkclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
66911737 0 021817 740 960T:dolbeau/std-4rt-nodkgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
6727639 0 021930 772 1024T:dolbeau/std-2rt-nodkclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
6735573 0 018890 764 992T:dolbeau/std-1rt-nodkgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
6735544 0 015625 740 960T:dolbeau/std-1rt-nodkgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
6737665 0 020730 772 928T:dolbeau/std-2rt-nodkclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
6845615 0 016753 756 992T:dolbeau/std-1rt-nodkgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
6947614 0 018753 756 992T:dolbeau/std-2rt-nodkgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
7225616 0 017524 764 1024T:dolbeau/std-1rt-nodkclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
72711759 0 025082 764 992T:dolbeau/std-4rt-nodkgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
72811759 0 023274 764 992T:dolbeau/std-4rt-nodkgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
73711724 0 022865 756 992T:dolbeau/std-4rt-nodkgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
74011790 0 023700 764 1024T:dolbeau/std-4rt-nodkclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
7487753 0 019668 764 1024T:dolbeau/std-2rt-nodkclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
1424140 0 014636 788 1024T:opensslclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
1426140 0 012214 780 1024T:opensslclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
1431140 0 014564 788 960T:opensslclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
1436186 0 010443 756 960T:opensslgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
1438184 0 011884 780 992T:opensslgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
1450140 0 013388 788 928T:opensslclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
1451187 0 011507 772 992T:opensslgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
1452184 0 013692 780 992T:opensslgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
1478140 0 011396 788 928T:opensslclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
3602574821 0 019122 772 1024refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
3658564945 0 018002 772 928refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
5336502808 0 017050 772 960refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
5716625768 0 019130 764 992refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
7998052337 0 013402 772 928refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506
9143762468 0 013986 764 992refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
9292792289 0 013425 756 992refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
9428382005 0 012081 740 960refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022100320220506
10003002475 0 014308 764 1024refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022100320220506

Compiler output

Implementation: dolbeau/aesenc-int
Security model: constbranchindex
Compiler: clang -mcpu=native -O3 -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/lib64/clang/14.0.5/include/__wmmintrin_aes.h:136:13: 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/lib64/clang/14.0.5/include/__wmmintrin_aes.h:136:13: 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: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE dolbeau/aesenc-int

Compiler output

Implementation: T:openssl
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
core.c: core.c:12:3: warning: 'AES_set_decrypt_key' is deprecated [-Wdeprecated-declarations]
core.c: AES_set_decrypt_key(k,256,&kexp);
core.c: ^
core.c: /usr/include/openssl/aes.h:53:1: note: 'AES_set_decrypt_key' has been explicitly marked deprecated here
core.c: OSSL_DEPRECATEDIN_3_0
core.c: ^
core.c: /usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
core.c: # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0)
core.c: ^
core.c: /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
core.c: # define OSSL_DEPRECATED(since) __attribute__((deprecated))
core.c: ^
core.c: core.c:13:3: warning: 'AES_decrypt' is deprecated [-Wdeprecated-declarations]
core.c: AES_decrypt(in,out,&kexp);
core.c: ^
core.c: /usr/include/openssl/aes.h:59:1: note: 'AES_decrypt' has been explicitly marked deprecated here
core.c: OSSL_DEPRECATEDIN_3_0
core.c: ^
core.c: /usr/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
core.c: # define OSSL_DEPRECATEDIN_3_0 OSSL_DEPRECATED(3.0)
core.c: ^
core.c: /usr/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
core.c: # define OSSL_DEPRECATED(since) __attribute__((deprecated))
core.c: ^
core.c: 2 warnings generated.

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

Compiler output

Implementation: T:openssl
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
core.c: core.c: In function 'crypto_core_aes256decrypt_openssl_timingleaks':
core.c: core.c:12:3: warning: 'AES_set_decrypt_key' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
core.c: 12 | AES_set_decrypt_key(k,256,&kexp);
core.c: | ^~~~~~~~~~~~~~~~~~~
core.c: In file included from core.c:1:
core.c: /usr/include/openssl/aes.h:54:5: note: declared here
core.c: 54 | int AES_set_decrypt_key(const unsigned char *userKey, const int bits,
core.c: | ^~~~~~~~~~~~~~~~~~~
core.c: core.c:13:3: warning: 'AES_decrypt' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
core.c: 13 | AES_decrypt(in,out,&kexp);
core.c: | ^~~~~~~~~~~
core.c: /usr/include/openssl/aes.h:60:6: note: declared here
core.c: 60 | void AES_decrypt(const unsigned char *in, unsigned char *out,
core.c: | ^~~~~~~~~~~

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