Test results for amd64, h4e450, crypto_aead/aes256gcmv1

[Page version: 20251015 22:54:48]

Measurements for amd64, h4e450, crypto_aead Test results for amd64, h4e450, crypto_aead Test results for crypto_aead/aes256gcmv1
Computer: h4e450
Microarchitecture: amd64; Bobcat (500f20)
Architecture: amd64
CPU ID: AuthenticAMD-00500f20-178bfbff
SUPERCOP version: 20250922
Operation: crypto_aead
Primitive: aes256gcmv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
27825416890 3040 01770955 148372 10912T:cryptoppclang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2025082020250415
27992814062 2456 01767492 148356 10912T:cryptoppclang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2025082020250415
28018615856 4072 01751497 149140 10976T:cryptoppg++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025082020250415
28097438714 3040 01783941 148316 11008T:cryptoppg++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025082020250415
28199835556 3040 01778456 148332 11008T:cryptoppg++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025082020250415
28283221297 6160 01780459 150932 10912T:cryptoppclang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2025082020250415
28450717766 3040 01772959 148372 10912T:cryptoppclang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2025082020250415
29007635319 3040 01779654 148332 11008T:cryptoppg++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025082020250415
47482532573 0 1630940 828 1056T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2025082020250415
47483882573 0 1629796 828 1056T:refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2025082020250415
48536652808 0 1631508 828 1056T:refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2025082020250415
48719701670 0 1627246 820 1056T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2025082020250415
52295004473 0 1633557 804 1120T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025082020250415
182040621866 0 1628004 828 1056T:refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2025082020250415
279265651939 0 1627288 780 1088T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025082020250415
281283572451 0 1630045 804 1120T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025082020250415
287937362300 0 1629268 796 1120T:refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025082020250415
1160313732573 0 1629764 828 1056refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2025082020250415
1163167131670 0 1626070 820 1056refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2025082020250415
1163495582808 0 1630332 828 1056refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2025082020250415
1167317314473 0 1632397 804 1120refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025082020250415
1204804142573 0 1628620 828 1056refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2025082020250415
1297549201866 0 1626828 828 1056refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2025082020250415
1394022921939 0 1626112 780 1088refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025082020250415
1403207252300 0 1628092 796 1120refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025082020250415
1445693632451 0 1628869 804 1120refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025082020250415

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>:168: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 (Ubuntu_Clang_14.0.0)

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>:168:1: note: expanded from here
aesenc-int.c: ...

Number of similar (implementation,compiler) pairs: 2, namely:
ImplementationCompiler
dolbeau/aesenc-intclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
dolbeau/aesenc-intclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

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: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: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>:168:1: note: expanded from here
aesenc-int.c: ...

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

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 (Ubuntu_Clang_14.0.0)

Compiler output


aesenc-int.c: aesenc-int.c:25: 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/11/include/x86gprintrin.h:33,
aesenc-int.c:                  from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:27,
aesenc-int.c:                  from aesenc-int.c:11:
aesenc-int.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/ia32intrin.h:273: 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: warning: "_bswap" redefined
aesenc-int.c:    26 | #define _bswap(a) __builtin_bswap32(a)
aesenc-int.c:       |
aesenc-int.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/x86gprintrin.h:33,
aesenc-int.c:                  from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:27,
aesenc-int.c:                  from aesenc-int.c:11:
aesenc-int.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/ia32intrin.h:307: 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: 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: ...

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

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: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: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: ...

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

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: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: ...

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

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 -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

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: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: ...

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

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: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: ...

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

Compiler output


vaesenc-int.c: vaesenc-int.c:16:2: error: #error "This code requires AVX enabled in the compiler."
vaesenc-int.c:    16 | #error "This code requires AVX enabled in the compiler."
vaesenc-int.c:       |  ^~~~~
vaesenc-int.c: vaesenc-int.c:20:2: error: #error "This code requires VAES enabled in the compiler."
vaesenc-int.c:    20 | #error "This code requires VAES enabled in the compiler."
vaesenc-int.c:       |  ^~~~~
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:445:30: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
vaesenc-int.c:   445 |                              __m256i B) {
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 (11.4.0)
dolbeau/vaesenc-intgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
dolbeau/vaesenc-intgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
dolbeau/vaesenc-intgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Compiler output


decrypt.c: decrypt.c:1:10: fatal error: 'openssl/evp.h' file not found
decrypt.c: #include <openssl/evp.h>
decrypt.c:          ^~~~~~~~~~~~~~~
decrypt.c: 1 error generated.

Number of similar (implementation,compiler) pairs: 10, namely:
ImplementationCompiler
T:opensslclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:opensslclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:opensslclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:opensslclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:opensslclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:opensslnewclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:opensslnewclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:opensslnewclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:opensslnewclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:opensslnewclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


decrypt.c: decrypt.c:1:10: fatal error: openssl/evp.h: No such file or directory
decrypt.c:     1 | #include <openssl/evp.h>
decrypt.c:       |          ^~~~~~~~~~~~~~~
decrypt.c: compilation terminated.

Number of similar (implementation,compiler) pairs: 8, namely:
ImplementationCompiler
T:opensslgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:opensslgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:opensslgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:opensslgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:opensslnewgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:opensslnewgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:opensslnewgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:opensslnewgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Passed TIMECOP


TIMECOP iterations: 10

Number of similar (implementation,compiler) pairs: 9, namely:
ImplementationCompiler
refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)