Test results for amd64, hertz, crypto_aead/aes256gcmv1

[Page version: 20241028 01:32:29]

Measurements for amd64, hertz, crypto_aead Test results for amd64, hertz, crypto_aead Test results for crypto_aead/aes256gcmv1
Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20241022
Operation: crypto_aead
Primitive: aes256gcmv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
60501021 0 021206 876 1064T:opensslnewcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024102420241022
6076902 0 026549 908 1096T:opensslnewclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024102420241022
6094902 0 026581 908 1096T:opensslnewclang -mllvm -polly -mllvm -polly-vectorizer=stripmine -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024102420241022
6103892 0 022839 900 1096T:opensslnewclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024102420241022
62091134 0 025555 900 1192T:opensslnewcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024102420241022
1340714274 2456 01951532 151412 11080T:cryptoppclang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024102420241022
1343018136 3040 01956932 151412 11080T:cryptoppclang++ -mllvm -polly -mllvm -polly-vectorizer=stripmine -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024102420241022
1362918136 3040 01956868 151412 11080T:cryptoppclang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024102420241022
1369816494 4072 01931128 152196 11080T:cryptoppg++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024102420241022
1388136234 3200 01970405 151532 11208T:cryptoppg++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024102420241022
17762703966 0 1627581 804 1224refcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024102420241022
18651073469 0 1628918 828 1128refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024102420241022
19872814589 0 1630070 828 1128refclang -mllvm -polly -mllvm -polly-vectorizer=stripmine -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024102420241022
20283481642 0 1623416 820 1128refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024102420241022
140903041908 0 1621384 780 1096refcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024102420241022

Compiler output


aesenc-int.c: aesenc-int.c:25:9: warning: "_bswap64" redefined
aesenc-int.c:    25 | #define _bswap64(a) __builtin_bswap64(a)
aesenc-int.c:       |         ^~~~~~~~
aesenc-int.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/14/include/x86gprintrin.h:33,
aesenc-int.c:                  from /usr/lib/gcc/x86_64-linux-gnu/14/include/immintrin.h:27,
aesenc-int.c:                  from aesenc-int.c:11:
aesenc-int.c: /usr/lib/gcc/x86_64-linux-gnu/14/include/ia32intrin.h:273:9: note: this is the location of the previous definition
aesenc-int.c:   273 | #define _bswap64(a)             __bswapq(a)
aesenc-int.c:       |         ^~~~~~~~
aesenc-int.c: aesenc-int.c:26:9: warning: "_bswap" redefined
aesenc-int.c:    26 | #define _bswap(a) __builtin_bswap32(a)
aesenc-int.c:       |         ^~~~~~
aesenc-int.c: /usr/lib/gcc/x86_64-linux-gnu/14/include/ia32intrin.h:307:9: note: this is the location of the previous definition
aesenc-int.c:   307 | #define _bswap(a)               __bswapd(a)
aesenc-int.c:       |         ^~~~~~
aesenc-int.c: aesenc-int.c: In function 'aesni_encrypt1':
aesenc-int.c: aesenc-int.c:98: warning: ignoring '#pragma unroll ' [-Wunknown-pragmas]
aesenc-int.c:    98 | #pragma unroll(13)
aesenc-int.c: aesenc-int.c: In function 'addmul':
aesenc-int.c: aesenc-int.c:217:64: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
aesenc-int.c:   217 |     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:270:17: warning: unused variable 'rev' [-Wunused-variable]
aesenc-int.c:   270 |   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: ...

Number of similar (implementation,compiler) pairs: 2, namely:
ImplementationCompiler
dolbeau/aesenc-intcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0)
dolbeau/aesenc-intcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0)

Compiler output


aesenc-int.c: aesenc-int.c:270:17: warning: unused variable 'rev' [-Wunused-variable]
aesenc-int.c:   270 |   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:364:15: warning: unused variable 'tmplo' [-Wunused-variable]
aesenc-int.c:   364 |   __m128i lo, tmplo, hi, tmphi;
aesenc-int.c:       |               ^~~~~
aesenc-int.c: aesenc-int.c:364:26: warning: unused variable 'tmphi' [-Wunused-variable]
aesenc-int.c:   364 |   __m128i lo, tmplo, hi, tmphi;
aesenc-int.c:       |                          ^~~~~
aesenc-int.c: aesenc-int.c:468:15: warning: unused variable 'tmplo' [-Wunused-variable]
aesenc-int.c:   468 |   __m128i lo, tmplo, hi, tmphi;
aesenc-int.c:       |               ^~~~~
aesenc-int.c: aesenc-int.c:468:26: warning: unused variable 'tmphi' [-Wunused-variable]
aesenc-int.c:   468 |   __m128i lo, tmplo, hi, tmphi;
aesenc-int.c:       |                          ^~~~~
aesenc-int.c: aesenc-int.c:161:20: warning: unused function 'inc' [-Wunused-function]
aesenc-int.c:   161 | static inline void inc(unsigned char *n) {
aesenc-int.c:       |                    ^~~
aesenc-int.c: aesenc-int.c:184:1: warning: unused function 'aesni_encrypt2' [-Wunused-function]
aesenc-int.c:   184 | FUNC(2, MAKE2)
aesenc-int.c:       | ^~~~~~~~~~~~~~
aesenc-int.c: aesenc-int.c:171:22: note: expanded from macro 'FUNC'
aesenc-int.c:   171 |   static inline void aesni_encrypt##N(unsigned char *out, unsigned int *n, const __m128i rkeys[16]) { \
aesenc-int.c:       |                      ^~~~~~~~~~~~~~~~
aesenc-int.c: <scratch space>:204:1: note: expanded from here
aesenc-int.c: ...

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
dolbeau/aesenc-intclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_19.1.1_(1ubuntu1))
dolbeau/aesenc-intclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_19.1.1_(1ubuntu1))
dolbeau/aesenc-intclang -mllvm -polly -mllvm -polly-vectorizer=stripmine -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_19.1.1_(1ubuntu1))

Compiler output


vaesenc-int.c: vaesenc-int.c: In function 'aesni_encrypt1':
vaesenc-int.c: vaesenc-int.c:139: warning: ignoring '#pragma unroll ' [-Wunknown-pragmas]
vaesenc-int.c:   139 | #pragma unroll(13)
vaesenc-int.c: vaesenc-int.c: In function 'aesni_encryptv2':
vaesenc-int.c: vaesenc-int.c:316: warning: ignoring '#pragma unroll ' [-Wunknown-pragmas]
vaesenc-int.c:   316 | #pragma unroll(13)
vaesenc-int.c: vaesenc-int.c: In function 'aesni_encryptv4':
vaesenc-int.c: vaesenc-int.c:330: warning: ignoring '#pragma unroll ' [-Wunknown-pragmas]
vaesenc-int.c:   330 | #pragma unroll(13)
vaesenc-int.c: vaesenc-int.c: In function 'addmul':
vaesenc-int.c: vaesenc-int.c:350:64: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
vaesenc-int.c:   350 |     unsigned long long mask = -1ull ^ (1ull<<(((16-xlen)%8)*8))-1ull;
vaesenc-int.c:       |                                       ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
vaesenc-int.c: vaesenc-int.c: In function 'mulv':
vaesenc-int.c: vaesenc-int.c:403:17: warning: unused variable 'rev' [-Wunused-variable]
vaesenc-int.c:   403 |   const __m128i rev = _mm_set_epi8(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
vaesenc-int.c:       |                 ^~~
vaesenc-int.c: vaesenc-int.c: In function 'mulvv2':
vaesenc-int.c: vaesenc-int.c:446:17: warning: unused variable 'rev' [-Wunused-variable]
vaesenc-int.c:   446 |   const __m256i rev = _mm256_broadcastsi128_si256(_mm_set_epi8(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15));
vaesenc-int.c:       |                 ^~~
vaesenc-int.c: vaesenc-int.c: In function 'mulvv4':
vaesenc-int.c: vaesenc-int.c:490:17: warning: unused variable 'rev' [-Wunused-variable]
vaesenc-int.c:   490 |   const __m512i rev = _mm512_broadcast_i32x4(_mm_set_epi8(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15));
vaesenc-int.c:       |                 ^~~
vaesenc-int.c: ...

Number of similar (implementation,compiler) pairs: 2, namely:
ImplementationCompiler
dolbeau/vaesenc-intcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0)
dolbeau/vaesenc-intcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0)

Compiler output


vaesenc-int.c: vaesenc-int.c:403:17: warning: unused variable 'rev' [-Wunused-variable]
vaesenc-int.c:   403 |   const __m128i rev = _mm_set_epi8(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
vaesenc-int.c:       |                 ^~~
vaesenc-int.c: vaesenc-int.c:446:17: warning: unused variable 'rev' [-Wunused-variable]
vaesenc-int.c:   446 |   const __m256i rev = _mm256_broadcastsi128_si256(_mm_set_epi8(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15));
vaesenc-int.c:       |                 ^~~
vaesenc-int.c: vaesenc-int.c:490:17: warning: unused variable 'rev' [-Wunused-variable]
vaesenc-int.c:   490 |   const __m512i rev = _mm512_broadcast_i32x4(_mm_set_epi8(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15));
vaesenc-int.c:       |                 ^~~
vaesenc-int.c: vaesenc-int.c:607:15: warning: unused variable 'tmplo' [-Wunused-variable]
vaesenc-int.c:   607 |   __m128i lo, tmplo, hi, tmphi; // still 128 bits
vaesenc-int.c:       |               ^~~~~
vaesenc-int.c: vaesenc-int.c:607:26: warning: unused variable 'tmphi' [-Wunused-variable]
vaesenc-int.c:   607 |   __m128i lo, tmplo, hi, tmphi; // still 128 bits
vaesenc-int.c:       |                          ^~~~~
vaesenc-int.c: vaesenc-int.c:627:24: warning: unused variable 'tmp1' [-Wunused-variable]
vaesenc-int.c:   627 |   __m128i tmp0, tmp0B, tmp1, tmp1B, tmp2, tmp2B, tmp3, tmp3B;
vaesenc-int.c:       |                        ^~~~
vaesenc-int.c: vaesenc-int.c:756:15: warning: unused variable 'tmplo' [-Wunused-variable]
vaesenc-int.c:   756 |   __m128i lo, tmplo, hi, tmphi;
vaesenc-int.c:       |               ^~~~~
vaesenc-int.c: vaesenc-int.c:756:26: warning: unused variable 'tmphi' [-Wunused-variable]
vaesenc-int.c:   756 |   __m128i lo, tmplo, hi, tmphi;
vaesenc-int.c:       |                          ^~~~~
vaesenc-int.c: vaesenc-int.c:785:24: warning: unused variable 'tmp1' [-Wunused-variable]
vaesenc-int.c: ...

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
dolbeau/vaesenc-intclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_19.1.1_(1ubuntu1))
dolbeau/vaesenc-intclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_19.1.1_(1ubuntu1))
dolbeau/vaesenc-intclang -mllvm -polly -mllvm -polly-vectorizer=stripmine -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_19.1.1_(1ubuntu1))

Compiler output


decrypt.c: decrypt.c: In function 'crypto_aead_aes256gcmv1_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: 2, namely:
ImplementationCompiler
T:opensslcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0)
T:opensslcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0)

Compiler output


decrypt.c: decrypt.c:13:18: error: variable has incomplete type 'EVP_CIPHER_CTX' (aka 'struct evp_cipher_ctx_st')
decrypt.c:    13 |   EVP_CIPHER_CTX x;
decrypt.c:       |                  ^
decrypt.c: /usr/include/openssl/types.h:105:16: note: forward declaration of 'struct evp_cipher_ctx_st'
decrypt.c:   105 | typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX;
decrypt.c:       |                ^
decrypt.c: 1 error generated.

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:opensslclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_19.1.1_(1ubuntu1))
T:opensslclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_19.1.1_(1ubuntu1))
T:opensslclang -mllvm -polly -mllvm -polly-vectorizer=stripmine -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_19.1.1_(1ubuntu1))

TIMECOP error (can be valgrind bug)


error 111

Process terminating with default action of signal 4 (SIGILL)
 Illegal opcode at address 0x10BBEB
   at 0x...: st32 (try-anything.c:47)
   by 0x...: core (try-anything.c:78)
   by 0x...: salsa20 (try-anything.c:101)
   by 0x...: salsa20 (try-anything.c:81)
   by 0x...: testvector (try-anything.c:124)
   by 0x...: myrandom (try-anything.c:132)
   by 0x...: test (try.c:144)
   by 0x...: main (try-anything.c:345)

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
refcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0)

TIMECOP error (can be valgrind bug)


error 111

Process terminating with default action of signal 4 (SIGILL)
 Illegal opcode at address 0x10B4E9
   at 0x...: core (try-anything.c:64)
   by 0x...: salsa20.part.0 (try-anything.c:101)
   by 0x...: salsa20 (try-anything.c:129)
   by 0x...: testvector (try-anything.c:124)
   by 0x...: myrandom (try-anything.c:132)
   by 0x...: test (try.c:144)
   by 0x...: main (try-anything.c:345)

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
refcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0)

TIMECOP error (can be valgrind bug)


error 111

Process terminating with default action of signal 4 (SIGILL)
 Illegal opcode at address 0x10CA24
   at 0x...: salsa20 (try-anything.c:90)
   by 0x...: canary (try-anything.c:148)
   by 0x...: output_prepare (try-anything.c:178)
   by 0x...: test (try.c:148)
   by 0x...: main (try-anything.c:345)

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_19.1.1_(1ubuntu1))

TIMECOP error (can be valgrind bug)


error 111

Process terminating with default action of signal 4 (SIGILL)
 Illegal opcode at address 0x10B78A
   at 0x...: core (try-anything.c:64)
   by 0x...: salsa20 (try-anything.c:101)
   by 0x...: testvector (try-anything.c:124)
   by 0x...: myrandom (try-anything.c:132)
   by 0x...: test (try.c:144)
   by 0x...: main (try-anything.c:345)

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_19.1.1_(1ubuntu1))

TIMECOP error (can be valgrind bug)


error 111

Process terminating with default action of signal 4 (SIGILL)
 Illegal opcode at address 0x10CA40
   at 0x...: salsa20 (try-anything.c:90)
   by 0x...: canary (try-anything.c:148)
   by 0x...: output_prepare (try-anything.c:178)
   by 0x...: test (try.c:148)
   by 0x...: main (try-anything.c:345)

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
refclang -mllvm -polly -mllvm -polly-vectorizer=stripmine -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_19.1.1_(1ubuntu1))