Test results for amd64, alder, crypto_aead/aes256gcmv1

[Page version: 20241022 22:35:40]

Measurements for amd64, alder, crypto_aead Test results for amd64, alder, crypto_aead Test results for crypto_aead/aes256gcmv1
Computer: alder
Microarchitecture: amd64; Golden Cove (90675-00)
Architecture: amd64
CPU ID: GenuineIntel-00090675-00-bfebfbff
SUPERCOP version: 20241022
Operation: crypto_aead
Primitive: aes256gcmv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
4754889 0 021461 884 1016T:opensslnewclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
4758893 0 023967 892 1016T:opensslnewclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
4761942 0 021991 868 1048T:opensslnewgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
4772894 0 021261 884 1016T:opensslnewclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
4778894 0 023951 892 1048T:opensslnewclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
4784894 0 023807 892 1048T:opensslnewclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
4785934 0 022496 876 1048T:opensslnewgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
4787934 0 024504 876 1048T:opensslnewgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
4793874 0 020331 852 1048T:opensslnewgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
631116439 0 039120 780 1080dolbeau/aesenc-intgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
642813980 0 033422 804 1016dolbeau/aesenc-intclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
655812621 0 034480 812 1048dolbeau/vaesenc-intclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
659416246 0 038144 812 1048dolbeau/aesenc-intclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
659812631 0 035288 780 1080dolbeau/vaesenc-intgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
66009349 0 028782 804 1016dolbeau/vaesenc-intclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
661216455 0 038464 812 1048dolbeau/aesenc-intclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
662412887 0 034864 812 1048dolbeau/vaesenc-intclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
66928484 0 029160 780 1080dolbeau/vaesenc-intgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
68238022 0 027710 804 1016dolbeau/aesenc-intclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
68589723 0 030432 780 1080dolbeau/aesenc-intgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
68726028 0 024667 756 1048dolbeau/aesenc-intgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
70004801 0 023427 756 1048dolbeau/vaesenc-intgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
72555768 0 025486 804 1016dolbeau/vaesenc-intclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
72629984 0 030183 772 1080dolbeau/aesenc-intgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
72718540 0 028711 772 1080dolbeau/vaesenc-intgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
1075617284 3040 01437726 148556 10968T:cryptoppclang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
1082114222 4072 01716342 149356 11000T:cryptoppg++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
1084038880 3040 01751706 148532 11032T:cryptoppg++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
1092614723 2456 01434234 148548 10936T:cryptoppclang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
1102734045 3040 01745144 148540 11032T:cryptoppg++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
1103533890 3040 01743650 148540 11032T:cryptoppg++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
1114617792 3040 01438370 148556 10968T:cryptoppclang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
1160023354 7904 01445510 152196 10936T:cryptoppclang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024071620240716
16982183530 0 1626520 812 1048refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024101120241011
18824411633 0 1622006 804 1048refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024101120241011
19341863822 0 1627392 780 1112refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024101120241011
21340562383 0 1625216 812 1048refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024101120241011
21397332383 0 1625360 812 1048refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024101120241011
99572161944 0 1622566 804 1048refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2024101120241011
133926102229 0 1623784 780 1112refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024101120241011
136680261781 0 1621283 756 1080refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024101120241011
148254762161 0 1623231 772 1112refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2024101120241011

Compiler output


aesenc-int.c: aesenc-int.c:270: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:364:15: warning: unused variable 'tmplo' [-Wunused-variable]
aesenc-int.c:   __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:   __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:   __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:   __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: 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: FUNC(2, MAKE2)
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:171:22: note: expanded from macro 'FUNC'
aesenc-int.c:   static inline void aesni_encrypt##N(unsigned char *out, unsigned int *n, const __m128i rkeys[16]) { \
aesenc-int.c:                      ^
aesenc-int.c: <scratch space>:224:1: note: expanded from here
aesenc-int.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
dolbeau/aesenc-intclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


aesenc-int.c: aesenc-int.c:270: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:364:26: warning: unused variable 'tmphi' [-Wunused-variable]
aesenc-int.c:   __m128i lo, tmplo, hi, tmphi;
aesenc-int.c:                          ^
aesenc-int.c: aesenc-int.c:364:15: warning: unused variable 'tmplo' [-Wunused-variable]
aesenc-int.c:   __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:   __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:   __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: 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: FUNC(2, MAKE2)
aesenc-int.c: ^
aesenc-int.c: aesenc-int.c:171:22: note: expanded from macro 'FUNC'
aesenc-int.c:   static inline void aesni_encrypt##N(unsigned char *out, unsigned int *n, const __m128i rkeys[16]) { \
aesenc-int.c:                      ^
aesenc-int.c: <scratch space>:224: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 (Debian_Clang_11.0.1)
dolbeau/aesenc-intclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
dolbeau/aesenc-intclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


aesenc-int.c: aesenc-int.c:270: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:364:26: warning: unused variable 'tmphi' [-Wunused-variable]
aesenc-int.c:   __m128i lo, tmplo, hi, tmphi;
aesenc-int.c:                          ^
aesenc-int.c: aesenc-int.c:364:15: warning: unused variable 'tmplo' [-Wunused-variable]
aesenc-int.c:   __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:   __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:   __m128i lo, tmplo, hi, tmphi;
aesenc-int.c:                          ^
aesenc-int.c: aesenc-int.c:665:16: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'crypto_aead_aes256gcmv1_dolbeau_aesenc_int_constbranchindex_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: 5 warnings and 1 error generated.

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
dolbeau/aesenc-intclang -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_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: 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:       |                 ^~~
aesenc-int.c: aesenc-int.c: In function 'reduce4':
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: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: In function 'reduce8':
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:468:15: warning: unused variable 'tmplo' [-Wunused-variable]
aesenc-int.c:   468 |   __m128i lo, tmplo, hi, tmphi;
aesenc-int.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
dolbeau/aesenc-intgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
dolbeau/aesenc-intgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
dolbeau/aesenc-intgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
dolbeau/aesenc-intgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Compiler output


vaesenc-int.c: vaesenc-int.c:403:17: warning: unused variable 'rev' [-Wunused-variable]
vaesenc-int.c:   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:   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:679:15: warning: unused variable 'tmplo' [-Wunused-variable]
vaesenc-int.c:   __m128i lo, tmplo, hi, tmphi;
vaesenc-int.c:               ^
vaesenc-int.c: vaesenc-int.c:679:26: warning: unused variable 'tmphi' [-Wunused-variable]
vaesenc-int.c:   __m128i lo, tmplo, hi, tmphi;
vaesenc-int.c:                          ^
vaesenc-int.c: vaesenc-int.c:698:24: warning: unused variable 'tmp1' [-Wunused-variable]
vaesenc-int.c:   __m128i tmp0, tmp0B, tmp1, tmp1B, tmp2, tmp2B, tmp3, tmp3B;
vaesenc-int.c:                        ^
vaesenc-int.c: vaesenc-int.c:1237:22: warning: unused variable 'mlen_rnd256' [-Wunused-variable]
vaesenc-int.c:   unsigned long long mlen_rnd256  = mlen & ~255ull;
vaesenc-int.c:                      ^
vaesenc-int.c: vaesenc-int.c:1449:22: warning: unused variable 'mlen_rnd256' [-Wunused-variable]
vaesenc-int.c:   unsigned long long mlen_rnd256  = *mlen & ~255ull;
vaesenc-int.c:                      ^
vaesenc-int.c: vaesenc-int.c:250:20: warning: unused function 'inc' [-Wunused-function]
vaesenc-int.c: static inline void inc(unsigned char *n) {
vaesenc-int.c:                    ^
vaesenc-int.c: vaesenc-int.c:273:1: warning: unused function 'aesni_encrypt2' [-Wunused-function]
vaesenc-int.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
dolbeau/vaesenc-intclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


vaesenc-int.c: vaesenc-int.c:403:17: warning: unused variable 'rev' [-Wunused-variable]
vaesenc-int.c:   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:   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:679:26: warning: unused variable 'tmphi' [-Wunused-variable]
vaesenc-int.c:   __m128i lo, tmplo, hi, tmphi;
vaesenc-int.c:                          ^
vaesenc-int.c: vaesenc-int.c:698:24: warning: unused variable 'tmp1' [-Wunused-variable]
vaesenc-int.c:   __m128i tmp0, tmp0B, tmp1, tmp1B, tmp2, tmp2B, tmp3, tmp3B;
vaesenc-int.c:                        ^
vaesenc-int.c: vaesenc-int.c:679:15: warning: unused variable 'tmplo' [-Wunused-variable]
vaesenc-int.c:   __m128i lo, tmplo, hi, tmphi;
vaesenc-int.c:               ^
vaesenc-int.c: vaesenc-int.c:1237:22: warning: unused variable 'mlen_rnd256' [-Wunused-variable]
vaesenc-int.c:   unsigned long long mlen_rnd256  = mlen & ~255ull;
vaesenc-int.c:                      ^
vaesenc-int.c: vaesenc-int.c:1449:22: warning: unused variable 'mlen_rnd256' [-Wunused-variable]
vaesenc-int.c:   unsigned long long mlen_rnd256  = *mlen & ~255ull;
vaesenc-int.c:                      ^
vaesenc-int.c: vaesenc-int.c:250:20: warning: unused function 'inc' [-Wunused-function]
vaesenc-int.c: static inline void inc(unsigned char *n) {
vaesenc-int.c:                    ^
vaesenc-int.c: vaesenc-int.c:273:1: warning: unused function 'aesni_encrypt2' [-Wunused-function]
vaesenc-int.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
dolbeau/vaesenc-intclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


vaesenc-int.c: vaesenc-int.c:403:17: warning: unused variable 'rev' [-Wunused-variable]
vaesenc-int.c:   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:   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:698:24: warning: unused variable 'tmp1' [-Wunused-variable]
vaesenc-int.c:   __m128i tmp0, tmp0B, tmp1, tmp1B, tmp2, tmp2B, tmp3, tmp3B;
vaesenc-int.c:                        ^
vaesenc-int.c: vaesenc-int.c:679:15: warning: unused variable 'tmplo' [-Wunused-variable]
vaesenc-int.c:   __m128i lo, tmplo, hi, tmphi;
vaesenc-int.c:               ^
vaesenc-int.c: vaesenc-int.c:679:26: warning: unused variable 'tmphi' [-Wunused-variable]
vaesenc-int.c:   __m128i lo, tmplo, hi, tmphi;
vaesenc-int.c:                          ^
vaesenc-int.c: vaesenc-int.c:1237:22: warning: unused variable 'mlen_rnd256' [-Wunused-variable]
vaesenc-int.c:   unsigned long long mlen_rnd256  = mlen & ~255ull;
vaesenc-int.c:                      ^
vaesenc-int.c: vaesenc-int.c:1449:22: warning: unused variable 'mlen_rnd256' [-Wunused-variable]
vaesenc-int.c:   unsigned long long mlen_rnd256  = *mlen & ~255ull;
vaesenc-int.c:                      ^
vaesenc-int.c: vaesenc-int.c:250:20: warning: unused function 'inc' [-Wunused-function]
vaesenc-int.c: static inline void inc(unsigned char *n) {
vaesenc-int.c:                    ^
vaesenc-int.c: vaesenc-int.c:273:1: warning: unused function 'aesni_encrypt2' [-Wunused-function]
vaesenc-int.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
dolbeau/vaesenc-intclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


vaesenc-int.c: vaesenc-int.c:403:17: warning: unused variable 'rev' [-Wunused-variable]
vaesenc-int.c:   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:   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:679:26: warning: unused variable 'tmphi' [-Wunused-variable]
vaesenc-int.c:   __m128i lo, tmplo, hi, tmphi;
vaesenc-int.c:                          ^
vaesenc-int.c: vaesenc-int.c:679:15: warning: unused variable 'tmplo' [-Wunused-variable]
vaesenc-int.c:   __m128i lo, tmplo, hi, tmphi;
vaesenc-int.c:               ^
vaesenc-int.c: vaesenc-int.c:698:24: warning: unused variable 'tmp1' [-Wunused-variable]
vaesenc-int.c:   __m128i tmp0, tmp0B, tmp1, tmp1B, tmp2, tmp2B, tmp3, tmp3B;
vaesenc-int.c:                        ^
vaesenc-int.c: vaesenc-int.c:1237:22: warning: unused variable 'mlen_rnd256' [-Wunused-variable]
vaesenc-int.c:   unsigned long long mlen_rnd256  = mlen & ~255ull;
vaesenc-int.c:                      ^
vaesenc-int.c: vaesenc-int.c:1449:22: warning: unused variable 'mlen_rnd256' [-Wunused-variable]
vaesenc-int.c:   unsigned long long mlen_rnd256  = *mlen & ~255ull;
vaesenc-int.c:                      ^
vaesenc-int.c: vaesenc-int.c:250:20: warning: unused function 'inc' [-Wunused-function]
vaesenc-int.c: static inline void inc(unsigned char *n) {
vaesenc-int.c:                    ^
vaesenc-int.c: vaesenc-int.c:273:1: warning: unused function 'aesni_encrypt2' [-Wunused-function]
vaesenc-int.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
dolbeau/vaesenc-intclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


vaesenc-int.c: vaesenc-int.c:16:2: error: "This code requires AVX enabled in the compiler."
vaesenc-int.c: #error "This code requires AVX enabled in the compiler."
vaesenc-int.c:  ^
vaesenc-int.c: vaesenc-int.c:20:2: error: "This code requires VAES enabled in the compiler."
vaesenc-int.c: #error "This code requires VAES enabled in the compiler."
vaesenc-int.c:  ^
vaesenc-int.c: vaesenc-int.c:403:17: warning: unused variable 'rev' [-Wunused-variable]
vaesenc-int.c:   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:   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:679:15: warning: unused variable 'tmplo' [-Wunused-variable]
vaesenc-int.c:   __m128i lo, tmplo, hi, tmphi;
vaesenc-int.c:               ^
vaesenc-int.c: vaesenc-int.c:679:26: warning: unused variable 'tmphi' [-Wunused-variable]
vaesenc-int.c:   __m128i lo, tmplo, hi, tmphi;
vaesenc-int.c:                          ^
vaesenc-int.c: vaesenc-int.c:698:24: warning: unused variable 'tmp1' [-Wunused-variable]
vaesenc-int.c:   __m128i tmp0, tmp0B, tmp1, tmp1B, tmp2, tmp2B, tmp3, tmp3B;
vaesenc-int.c:                        ^
vaesenc-int.c: vaesenc-int.c:1237:22: warning: unused variable 'mlen_rnd256' [-Wunused-variable]
vaesenc-int.c:   unsigned long long mlen_rnd256  = mlen & ~255ull;
vaesenc-int.c:                      ^
vaesenc-int.c: vaesenc-int.c:1449:22: warning: unused variable 'mlen_rnd256' [-Wunused-variable]
vaesenc-int.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
dolbeau/vaesenc-intclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

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: 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: 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 'reduce4v2':
vaesenc-int.c: vaesenc-int.c:698:24: warning: unused variable 'tmp1' [-Wunused-variable]
vaesenc-int.c:   698 |   __m128i tmp0, tmp0B, tmp1, tmp1B, tmp2, tmp2B, tmp3, tmp3B;
vaesenc-int.c:       |                        ^~~~
vaesenc-int.c: vaesenc-int.c:679:26: warning: unused variable 'tmphi' [-Wunused-variable]
vaesenc-int.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
dolbeau/vaesenc-intgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
dolbeau/vaesenc-intgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
dolbeau/vaesenc-intgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
dolbeau/vaesenc-intgcc -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:
ImplementationCompiler
T:opensslclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:opensslclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:opensslclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:opensslclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:opensslclang -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_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: 4, namely:
ImplementationCompiler
T:opensslgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:opensslgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:opensslgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:opensslgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

TIMECOP error (can be valgrind bug)


error 111

Process terminating with default action of signal 4 (SIGILL)
 Illegal opcode at address 0x404985
   at 0x...: mulvv2 (vaesenc-int.c:448)
   by 0x...: crypto_aead_aes256gcmv1_dolbeau_vaesenc_int_constbranchindex_encrypt (vaesenc-int.c:1163)
   by 0x...: test (try.c:159)
   by 0x...: main (try-anything.c:345)

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
dolbeau/vaesenc-intclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

TIMECOP error (can be valgrind bug)


error 111

Process terminating with default action of signal 4 (SIGILL)
 Illegal opcode at address 0x404935
   at 0x...: mulvv2 (vaesenc-int.c:448)
   by 0x...: crypto_aead_aes256gcmv1_dolbeau_vaesenc_int_constbranchindex_encrypt (vaesenc-int.c:1163)
   by 0x...: test (try.c:159)
   by 0x...: main (try-anything.c:345)

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
dolbeau/vaesenc-intclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

TIMECOP error (can be valgrind bug)


error 111

Process terminating with default action of signal 4 (SIGILL)
 Illegal opcode at address 0x404600
   at 0x...: mulvv2 (vaesenc-int.c:448)
   by 0x...: crypto_aead_aes256gcmv1_dolbeau_vaesenc_int_constbranchindex_encrypt (vaesenc-int.c:1163)
   by 0x...: test (try.c:159)
   by 0x...: main (try-anything.c:345)

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
dolbeau/vaesenc-intclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

TIMECOP error (can be valgrind bug)


error 111

Process terminating with default action of signal 4 (SIGILL)
 Illegal opcode at address 0x4042B7
   at 0x...: mulvv2 (vaesenc-int.c:448)
   by 0x...: crypto_aead_aes256gcmv1_dolbeau_vaesenc_int_constbranchindex_encrypt (vaesenc-int.c:1163)
   by 0x...: test (try.c:159)
   by 0x...: main (try-anything.c:345)

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
dolbeau/vaesenc-intclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

TIMECOP error (can be valgrind bug)


error 111

Process terminating with default action of signal 4 (SIGILL)
 Illegal opcode at address 0x10C738
   at 0x...: _mm256_clmulepi64_epi128 (vpclmulqdqintrin.h:67)
   by 0x...: mulvv2 (vaesenc-int.c:449)
   by 0x...: crypto_aead_aes256gcmv1_dolbeau_vaesenc_int_constbranchindex_encrypt (vaesenc-int.c:1163)
   by 0x...: test (try.c:159)
   by 0x...: main (try-anything.c:345)

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
dolbeau/vaesenc-intgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

TIMECOP error (can be valgrind bug)


error 111

Process terminating with default action of signal 4 (SIGILL)
 Illegal opcode at address 0x10CB13
   at 0x...: _mm256_clmulepi64_epi128 (vpclmulqdqintrin.h:67)
   by 0x...: mulvv2 (vaesenc-int.c:449)
   by 0x...: crypto_aead_aes256gcmv1_dolbeau_vaesenc_int_constbranchindex_encrypt (vaesenc-int.c:1163)
   by 0x...: test (try.c:159)
   by 0x...: main (try-anything.c:345)

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
dolbeau/vaesenc-intgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

TIMECOP error (can be valgrind bug)


error 111

Process terminating with default action of signal 4 (SIGILL)
 Illegal opcode at address 0x10C47B
   at 0x...: _mm256_clmulepi64_epi128 (vpclmulqdqintrin.h:67)
   by 0x...: mulvv2 (vaesenc-int.c:447)
   by 0x...: crypto_aead_aes256gcmv1_dolbeau_vaesenc_int_constbranchindex_encrypt (vaesenc-int.c:1163)
   by 0x...: test (try.c:159)
   by 0x...: main (try-anything.c:345)

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
dolbeau/vaesenc-intgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

TIMECOP error (can be valgrind bug)


error 111

Process terminating with default action of signal 4 (SIGILL)
 Illegal opcode at address 0x10BF9B
   at 0x...: _mm256_clmulepi64_epi128 (vpclmulqdqintrin.h:67)
   by 0x...: mulvv2 (vaesenc-int.c:449)
   by 0x...: crypto_aead_aes256gcmv1_dolbeau_vaesenc_int_constbranchindex_encrypt (vaesenc-int.c:1163)
   by 0x...: test (try.c:159)
   by 0x...: main (try-anything.c:345)

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
dolbeau/vaesenc-intgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Passed TIMECOP


TIMECOP iterations: 10

Number of similar (implementation,compiler) pairs: 17, namely:
ImplementationCompiler
dolbeau/aesenc-intclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
dolbeau/aesenc-intclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
dolbeau/aesenc-intclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
dolbeau/aesenc-intclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
dolbeau/aesenc-intgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
dolbeau/aesenc-intgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
dolbeau/aesenc-intgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
dolbeau/aesenc-intgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)