Implementation notes: amd64, trident, crypto_aead/aes128gcmv1
Computer: trident
Microarchitecture: amd64; Core 2 65nm (6fb)
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_aead
Primitive: aes128gcmv1
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
126411 | 934 0 0 | 22672 876 1048 | T:opensslnew | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
126421 | 934 0 0 | 23672 876 1048 | T:opensslnew | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
126538 | 893 0 0 | 24143 892 1016 | T:opensslnew | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
126583 | 942 0 0 | 22151 868 1048 | T:opensslnew | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
126675 | 894 0 0 | 23231 892 1016 | T:opensslnew | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
126845 | 889 0 0 | 21605 884 1016 | T:opensslnew | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
126861 | 874 0 0 | 20507 852 1048 | T:opensslnew | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
126925 | 894 0 0 | 24319 892 1016 | T:opensslnew | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
127374 | 894 0 0 | 21173 884 1016 | T:opensslnew | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
5416106 | 2753 0 16 | 30880 780 1112 | T:ref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
6349270 | 3530 0 16 | 31184 812 1048 | T:ref | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
6349523 | 3530 0 16 | 32272 812 1048 | T:ref | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
6403860 | 3546 0 16 | 32112 812 1048 | T:ref | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
8234056 | 1592 0 16 | 27262 804 1048 | T:ref | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
15174108 | 1788 0 16 | 27934 804 1048 | T:ref | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
21283714 | 2136 0 16 | 29264 780 1112 | T:ref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
21799678 | 2131 0 16 | 28759 772 1112 | T:ref | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
35695438 | 1728 0 16 | 26811 756 1080 | T:ref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240630 | 20240625 |
Compiler output
aesenc-int.c: aesenc-int.c:41:25: warning: unused variable 'temp2' [-Wunused-variable]
aesenc-int.c: __m128i temp0, temp1, temp2, temp4;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:248:17: warning: unused variable 'rev' [-Wunused-variable]
aesenc-int.c: const __m128i rev = _mm_set_epi8(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:342:26: warning: unused variable 'tmphi' [-Wunused-variable]
aesenc-int.c: __m128i lo, tmplo, hi, tmphi;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:342:15: warning: unused variable 'tmplo' [-Wunused-variable]
aesenc-int.c: __m128i lo, tmplo, hi, tmphi;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:446:15: warning: unused variable 'tmplo' [-Wunused-variable]
aesenc-int.c: __m128i lo, tmplo, hi, tmphi;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:446:26: warning: unused variable 'tmphi' [-Wunused-variable]
aesenc-int.c: __m128i lo, tmplo, hi, tmphi;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:139:20: warning: unused function 'inc' [-Wunused-function]
aesenc-int.c: static inline void inc(unsigned char *n) {
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:162:1: warning: unused function 'aesni_encrypt2' [-Wunused-function]
aesenc-int.c: FUNC(2, MAKE2)
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:149:22: note: expanded from macro 'FUNC'
aesenc-int.c: ...
Number of similar (implementation,compiler) pairs: 2, namely:
Implementation | Compiler |
T:dolbeau/aesenc-int | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:dolbeau/aesenc-int | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
aesenc-int.c: aesenc-int.c:41:25: warning: unused variable 'temp2' [-Wunused-variable]
aesenc-int.c: __m128i temp0, temp1, temp2, temp4;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:248:17: warning: unused variable 'rev' [-Wunused-variable]
aesenc-int.c: const __m128i rev = _mm_set_epi8(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:342:15: warning: unused variable 'tmplo' [-Wunused-variable]
aesenc-int.c: __m128i lo, tmplo, hi, tmphi;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:342:26: warning: unused variable 'tmphi' [-Wunused-variable]
aesenc-int.c: __m128i lo, tmplo, hi, tmphi;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:446:26: warning: unused variable 'tmphi' [-Wunused-variable]
aesenc-int.c: __m128i lo, tmplo, hi, tmphi;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:446:15: warning: unused variable 'tmplo' [-Wunused-variable]
aesenc-int.c: __m128i lo, tmplo, hi, tmphi;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:139:20: warning: unused function 'inc' [-Wunused-function]
aesenc-int.c: static inline void inc(unsigned char *n) {
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:162:1: warning: unused function 'aesni_encrypt2' [-Wunused-function]
aesenc-int.c: FUNC(2, MAKE2)
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:149:22: note: expanded from macro 'FUNC'
aesenc-int.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:dolbeau/aesenc-int | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
aesenc-int.c: aesenc-int.c:41:25: warning: unused variable 'temp2' [-Wunused-variable]
aesenc-int.c: __m128i temp0, temp1, temp2, temp4;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:248:17: warning: unused variable 'rev' [-Wunused-variable]
aesenc-int.c: const __m128i rev = _mm_set_epi8(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:342:26: warning: unused variable 'tmphi' [-Wunused-variable]
aesenc-int.c: __m128i lo, tmplo, hi, tmphi;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:342:15: warning: unused variable 'tmplo' [-Wunused-variable]
aesenc-int.c: __m128i lo, tmplo, hi, tmphi;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:446:26: warning: unused variable 'tmphi' [-Wunused-variable]
aesenc-int.c: __m128i lo, tmplo, hi, tmphi;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:446:15: warning: unused variable 'tmplo' [-Wunused-variable]
aesenc-int.c: __m128i lo, tmplo, hi, tmphi;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:139:20: warning: unused function 'inc' [-Wunused-function]
aesenc-int.c: static inline void inc(unsigned char *n) {
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:162:1: warning: unused function 'aesni_encrypt2' [-Wunused-function]
aesenc-int.c: FUNC(2, MAKE2)
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:149:22: note: expanded from macro 'FUNC'
aesenc-int.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:dolbeau/aesenc-int | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
aesenc-int.c: aesenc-int.c:41:25: warning: unused variable 'temp2' [-Wunused-variable]
aesenc-int.c: __m128i temp0, temp1, temp2, temp4;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:248:17: warning: unused variable 'rev' [-Wunused-variable]
aesenc-int.c: const __m128i rev = _mm_set_epi8(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:342:15: warning: unused variable 'tmplo' [-Wunused-variable]
aesenc-int.c: __m128i lo, tmplo, hi, tmphi;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:342:26: warning: unused variable 'tmphi' [-Wunused-variable]
aesenc-int.c: __m128i lo, tmplo, hi, tmphi;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:446:26: warning: unused variable 'tmphi' [-Wunused-variable]
aesenc-int.c: __m128i lo, tmplo, hi, tmphi;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:446:15: warning: unused variable 'tmplo' [-Wunused-variable]
aesenc-int.c: __m128i lo, tmplo, hi, tmphi;
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:643:16: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'crypto_aead_aes128gcmv1_dolbeau_aesenc_int_timingleaks_encrypt' that is compiled without support for 'ssse3'
aesenc-int.c: __m128i Hv = _mm_shuffle_epi8(_mm_loadu_si128((const __m128i*)H), rev);
aesenc-int.c: ^
aesenc-int.c: 6 warnings and 1 error generated.
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:dolbeau/aesenc-int | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
aesenc-int.c: aesenc-int.c: In function 'aesni_key128_expand':
aesenc-int.c: aesenc-int.c:41:25: warning: unused variable 'temp2' [-Wunused-variable]
aesenc-int.c: 41 | __m128i temp0, temp1, temp2, temp4;
aesenc-int.c: | ^~~~~
aesenc-int.c: aesenc-int.c: In function 'aesni_encrypt1':
aesenc-int.c: aesenc-int.c:76: warning: ignoring '#pragma unroll ' [-Wunknown-pragmas]
aesenc-int.c: 76 | #pragma unroll(9)
aesenc-int.c: |
aesenc-int.c: aesenc-int.c: In function 'addmul':
aesenc-int.c: aesenc-int.c:195:64: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
aesenc-int.c: 195 | unsigned long long mask = -1ull ^ (1ull<<(((16-xlen)%8)*8))-1ull;
aesenc-int.c: | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
aesenc-int.c: aesenc-int.c: In function 'mulv':
aesenc-int.c: aesenc-int.c:248:17: warning: unused variable 'rev' [-Wunused-variable]
aesenc-int.c: 248 | const __m128i rev = _mm_set_epi8(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
aesenc-int.c: | ^~~
aesenc-int.c: aesenc-int.c: In function 'reduce4':
aesenc-int.c: aesenc-int.c:342:26: warning: unused variable 'tmphi' [-Wunused-variable]
aesenc-int.c: 342 | __m128i lo, tmplo, hi, tmphi;
aesenc-int.c: | ^~~~~
aesenc-int.c: aesenc-int.c:342:15: warning: unused variable 'tmplo' [-Wunused-variable]
aesenc-int.c: 342 | __m128i lo, tmplo, hi, tmphi;
aesenc-int.c: | ^~~~~
aesenc-int.c: aesenc-int.c: In function 'reduce8':
aesenc-int.c: aesenc-int.c:446:26: warning: unused variable 'tmphi' [-Wunused-variable]
aesenc-int.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:dolbeau/aesenc-int | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:dolbeau/aesenc-int | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:dolbeau/aesenc-int | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:dolbeau/aesenc-int | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
Compiler output
decrypt.c: decrypt.c:13:18: error: variable has incomplete type 'EVP_CIPHER_CTX' (aka 'struct evp_cipher_ctx_st')
decrypt.c: EVP_CIPHER_CTX x;
decrypt.c: ^
decrypt.c: /usr/include/openssl/ossl_typ.h:90:16: note: forward declaration of 'struct evp_cipher_ctx_st'
decrypt.c: typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX;
decrypt.c: ^
decrypt.c: 1 error generated.
Number of similar (implementation,compiler) pairs: 5, namely:
Implementation | Compiler |
T:openssl | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:openssl | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:openssl | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:openssl | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:openssl | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
decrypt.c: decrypt.c: In function 'crypto_aead_aes128gcmv1_openssl_timingleaks_decrypt':
decrypt.c: decrypt.c:13:18: error: storage size of 'x' isn't known
decrypt.c: 13 | EVP_CIPHER_CTX x;
decrypt.c: | ^
decrypt.c: decrypt.c:13:18: warning: unused variable 'x' [-Wunused-variable]
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:openssl | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:openssl | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:openssl | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:openssl | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
Compiler output
try.c: env: 'cargo': No such file or directory
Number of similar (implementation,compiler) pairs: 18, namely:
Implementation | Compiler |
rust_aes_gcm | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
rust_aes_gcm | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
rust_aes_gcm | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
rust_aes_gcm | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
rust_aes_gcm | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
rust_aes_gcm | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
rust_aes_gcm | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
rust_aes_gcm | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
rust_aes_gcm | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:rust_crypto | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:rust_crypto | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:rust_crypto | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:rust_crypto | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:rust_crypto | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:rust_crypto | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:rust_crypto | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:rust_crypto | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:rust_crypto | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |