Test results for amd64, speed2supercop, crypto_aead/grain128aeadv2

[Page version: 20250318 22:34:28]

Measurements for amd64, speed2supercop, crypto_aead Test results for amd64, speed2supercop, crypto_aead Test results for crypto_aead/grain128aeadv2
Computer: speed2supercop
Microarchitecture: amd64; Haswell+AES (306c3)
Architecture: amd64
CPU ID: GenuineIntel-000306c3-1fc9cbf5
SUPERCOP version: 20250307
Operation: crypto_aead
Primitive: grain128aeadv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
15895618905 0 034573 752 944T:sseg++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025031120250307
15933613564 0 027413 752 944T:sseg++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025031120250307
15950812305 0 025948 744 944T:sseg++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025031120250307
15984410438 0 023779 824 856T:sseclang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2025031120250307
16017218854 0 037011 824 920T:sseclang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2025031120250307
16059618854 0 036971 824 920T:sseclang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2025031120250307
16074010373 0 024732 816 920T:sseclang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2025031120250307
1626444076 0 016288 728 912T:sseg++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025031120250307
31874810469 0 028627 824 920T:x64clang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2025031120250307
3209726742 0 020372 744 944T:x64g++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025031120250307
3210965576 0 018979 824 856T:x64clang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2025031120250307
3258525152 0 019556 816 920T:x64clang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2025031120250307
32717211841 0 030059 824 920T:x64clang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2025031120250307
3541047101 0 020949 752 944T:x64g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025031120250307
37672436647 0 052293 752 944T:x64g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025031120250307
3783122426 0 014616 728 912T:x64g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025031120250307

Compiler output


grain128aead-v2_opt.cpp: grain128aead-v2_opt.cpp:236:6: error: '__builtin_ia32_pternlogq128_mask' needs target feature avx512vl
grain128aead-v2_opt.cpp:   236 |         T = _xorand3(_mm_srli_epi16(X, 1), X, _mm_set1_epi16(0x2222));
grain128aead-v2_opt.cpp:       |             ^
grain128aead-v2_opt.cpp: grain128aead-v2_opt.cpp:125:27: note: expanded from macro '_xorand3'
grain128aead-v2_opt.cpp:   125 | #define _xorand3(a, b, c)       _mm_ternarylogic_epi64(a, b, c, 0x28)
grain128aead-v2_opt.cpp:       |                                 ^
grain128aead-v2_opt.cpp: /usr/lib/llvm-19/lib/clang/19/include/avx512vlintrin.h:6565:13: note: expanded from macro '_mm_ternarylogic_epi64'
grain128aead-v2_opt.cpp:  6565 |   ((__m128i)__builtin_ia32_pternlogq128_mask(                                  \
grain128aead-v2_opt.cpp:       |             ^
grain128aead-v2_opt.cpp: grain128aead-v2_opt.cpp:237:6: error: '__builtin_ia32_pternlogq128_mask' needs target feature avx512vl
grain128aead-v2_opt.cpp:   237 |         X = _xor3(_mm_slli_epi16(T, 1), X, T);
grain128aead-v2_opt.cpp:       |             ^
grain128aead-v2_opt.cpp: grain128aead-v2_opt.cpp:122:25: note: expanded from macro '_xor3'
grain128aead-v2_opt.cpp:   122 | #define _xor3(a, b, c)          _mm_ternarylogic_epi64(a, b, c, 0x96)
grain128aead-v2_opt.cpp:       |                                 ^
grain128aead-v2_opt.cpp: /usr/lib/llvm-19/lib/clang/19/include/avx512vlintrin.h:6565:13: note: expanded from macro '_mm_ternarylogic_epi64'
grain128aead-v2_opt.cpp:  6565 |   ((__m128i)__builtin_ia32_pternlogq128_mask(                                  \
grain128aead-v2_opt.cpp:       |             ^
grain128aead-v2_opt.cpp: grain128aead-v2_opt.cpp:238:6: error: '__builtin_ia32_pternlogq128_mask' needs target feature avx512vl
grain128aead-v2_opt.cpp:   238 |         T = _xorand3(_mm_srli_epi16(X, 2), X, _mm_set1_epi16(0x0c0c));
grain128aead-v2_opt.cpp:       |             ^
grain128aead-v2_opt.cpp: grain128aead-v2_opt.cpp:125:27: note: expanded from macro '_xorand3'
grain128aead-v2_opt.cpp:   125 | #define _xorand3(a, b, c)       _mm_ternarylogic_epi64(a, b, c, 0x28)
grain128aead-v2_opt.cpp:       |                                 ^
grain128aead-v2_opt.cpp: /usr/lib/llvm-19/lib/clang/19/include/avx512vlintrin.h:6565:13: note: expanded from macro '_mm_ternarylogic_epi64'
grain128aead-v2_opt.cpp: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:avx512clang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(1+b1))
T:avx512clang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(1+b1))
T:avx512clang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(1+b1))
T:avx512clang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(1+b1))

Compiler output


grain128aead-v2_opt.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/14/include/immintrin.h:63,
grain128aead-v2_opt.cpp:                  from /usr/lib/gcc/x86_64-linux-gnu/14/include/x86intrin.h:32,
grain128aead-v2_opt.cpp:                  from grain128aead-v2_opt.h:41,
grain128aead-v2_opt.cpp:                  from grain128aead-v2_opt.cpp:10:
grain128aead-v2_opt.cpp: /usr/lib/gcc/x86_64-linux-gnu/14/include/avx512vlintrin.h: In function 'u64 grain_keystream64(grain_ctx*)':
grain128aead-v2_opt.cpp: /usr/lib/gcc/x86_64-linux-gnu/14/include/avx512vlintrin.h:10516:1: error: inlining failed in call to 'always_inline' '__m128i _mm_ternarylogic_epi64(__m128i, __m128i, __m128i, int)': target specific option mismatch
grain128aead-v2_opt.cpp: 10516 | _mm_ternarylogic_epi64 (__m128i __A, __m128i __B, __m128i __C,
grain128aead-v2_opt.cpp:       | ^~~~~~~~~~~~~~~~~~~~~~
grain128aead-v2_opt.cpp: grain128aead-v2_opt.cpp:207:39: note: called from here
grain128aead-v2_opt.cpp:   207 |         u64 y = ys ^ _mm_cvtsi128_si64(_xor2(shr8(_xor3(_andxor3(s4, s7, s5), _and3(ts, b7, s6), b1), 7), shr8(_andxor3(shr8(b7, 2), s2, b1), 5)));
grain128aead-v2_opt.cpp:       |                      ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
grain128aead-v2_opt.cpp: /usr/lib/gcc/x86_64-linux-gnu/14/include/avx512vlintrin.h:10516:1: error: inlining failed in call to 'always_inline' '__m128i _mm_ternarylogic_epi64(__m128i, __m128i, __m128i, int)': target specific option mismatch
grain128aead-v2_opt.cpp: 10516 | _mm_ternarylogic_epi64 (__m128i __A, __m128i __B, __m128i __C,
grain128aead-v2_opt.cpp:       | ^~~~~~~~~~~~~~~~~~~~~~
grain128aead-v2_opt.cpp: grain128aead-v2_opt.cpp:207:39: note: called from here
grain128aead-v2_opt.cpp:   207 |         u64 y = ys ^ _mm_cvtsi128_si64(_xor2(shr8(_xor3(_andxor3(s4, s7, s5), _and3(ts, b7, s6), b1), 7), shr8(_andxor3(shr8(b7, 2), s2, b1), 5)));
grain128aead-v2_opt.cpp:       |                      ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
grain128aead-v2_opt.cpp: /usr/lib/gcc/x86_64-linux-gnu/14/include/avx512vlintrin.h:10516:1: error: inlining failed in call to 'always_inline' '__m128i _mm_ternarylogic_epi64(__m128i, __m128i, __m128i, int)': target specific option mismatch
grain128aead-v2_opt.cpp: 10516 | _mm_ternarylogic_epi64 (__m128i __A, __m128i __B, __m128i __C,
grain128aead-v2_opt.cpp:       | ^~~~~~~~~~~~~~~~~~~~~~
grain128aead-v2_opt.cpp: grain128aead-v2_opt.cpp:207:39: note: called from here
grain128aead-v2_opt.cpp:   207 |         u64 y = ys ^ _mm_cvtsi128_si64(_xor2(shr8(_xor3(_andxor3(s4, s7, s5), _and3(ts, b7, s6), b1), 7), shr8(_andxor3(shr8(b7, 2), s2, b1), 5)));
grain128aead-v2_opt.cpp:       |                      ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
grain128aead-v2_opt.cpp: /usr/lib/gcc/x86_64-linux-gnu/14/include/avx512vlintrin.h:10516:1: error: inlining failed in call to 'always_inline' '__m128i _mm_ternarylogic_epi64(__m128i, __m128i, __m128i, int)': target specific option mismatch
grain128aead-v2_opt.cpp: 10516 | _mm_ternarylogic_epi64 (__m128i __A, __m128i __B, __m128i __C,
grain128aead-v2_opt.cpp: ...

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

Compiler output


grain128aead-v2_opt.cpp: grain128aead-v2_opt.cpp:234:6: error: '__builtin_ia32_vgf2p8affineqb_v16qi' needs target feature gfni
grain128aead-v2_opt.cpp:   234 |         X = _mm_gf2p8affine_epi64_epi8(X, _mm_set1_epi64x(0x0104104002082080ULL), 0);
grain128aead-v2_opt.cpp:       |             ^
grain128aead-v2_opt.cpp: /usr/lib/llvm-19/lib/clang/19/include/gfniintrin.h:55:13: note: expanded from macro '_mm_gf2p8affine_epi64_epi8'
grain128aead-v2_opt.cpp:    55 |   ((__m128i)__builtin_ia32_vgf2p8affineqb_v16qi((__v16qi)(__m128i)(A), \
grain128aead-v2_opt.cpp:       |             ^
grain128aead-v2_opt.cpp: grain128aead-v2_opt.cpp:241:6: error: '__builtin_ia32_pternlogq128_mask' needs target feature avx512vl
grain128aead-v2_opt.cpp:   241 |         T = _xorand3(_mm_srli_epi16(X, 4), X, _mm_set1_epi16(0x00f0));
grain128aead-v2_opt.cpp:       |             ^
grain128aead-v2_opt.cpp: grain128aead-v2_opt.cpp:125:27: note: expanded from macro '_xorand3'
grain128aead-v2_opt.cpp:   125 | #define _xorand3(a, b, c)       _mm_ternarylogic_epi64(a, b, c, 0x28)
grain128aead-v2_opt.cpp:       |                                 ^
grain128aead-v2_opt.cpp: /usr/lib/llvm-19/lib/clang/19/include/avx512vlintrin.h:6565:13: note: expanded from macro '_mm_ternarylogic_epi64'
grain128aead-v2_opt.cpp:  6565 |   ((__m128i)__builtin_ia32_pternlogq128_mask(                                  \
grain128aead-v2_opt.cpp:       |             ^
grain128aead-v2_opt.cpp: grain128aead-v2_opt.cpp:242:6: error: '__builtin_ia32_pternlogq128_mask' needs target feature avx512vl
grain128aead-v2_opt.cpp:   242 |         X = _xor3(_mm_slli_epi16(T, 4), X, T);
grain128aead-v2_opt.cpp:       |             ^
grain128aead-v2_opt.cpp: grain128aead-v2_opt.cpp:122:25: note: expanded from macro '_xor3'
grain128aead-v2_opt.cpp:   122 | #define _xor3(a, b, c)          _mm_ternarylogic_epi64(a, b, c, 0x96)
grain128aead-v2_opt.cpp:       |                                 ^
grain128aead-v2_opt.cpp: /usr/lib/llvm-19/lib/clang/19/include/avx512vlintrin.h:6565:13: note: expanded from macro '_mm_ternarylogic_epi64'
grain128aead-v2_opt.cpp:  6565 |   ((__m128i)__builtin_ia32_pternlogq128_mask(                                  \
grain128aead-v2_opt.cpp:       |             ^
grain128aead-v2_opt.cpp: grain128aead-v2_opt.cpp:155:30: error: '__builtin_ia32_pternlogq128_mask' needs target feature avx512vl
grain128aead-v2_opt.cpp: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:gf2clang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(1+b1))
T:gf2clang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(1+b1))
T:gf2clang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(1+b1))
T:gf2clang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(1+b1))

Compiler output


grain128aead-v2_opt.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/14/include/immintrin.h:123,
grain128aead-v2_opt.cpp:                  from /usr/lib/gcc/x86_64-linux-gnu/14/include/x86intrin.h:32,
grain128aead-v2_opt.cpp:                  from grain128aead-v2_opt.h:41,
grain128aead-v2_opt.cpp:                  from grain128aead-v2_opt.cpp:10:
grain128aead-v2_opt.cpp: /usr/lib/gcc/x86_64-linux-gnu/14/include/gfniintrin.h: In function 'void grain_auth(grain_ctx*, u8*, int)':
grain128aead-v2_opt.cpp: /usr/lib/gcc/x86_64-linux-gnu/14/include/gfniintrin.h:57:1: error: inlining failed in call to 'always_inline' '__m128i _mm_gf2p8affine_epi64_epi8(__m128i, __m128i, int)': target specific option mismatch
grain128aead-v2_opt.cpp:    57 | _mm_gf2p8affine_epi64_epi8 (__m128i __A, __m128i __B, const int __C)
grain128aead-v2_opt.cpp:       | ^~~~~~~~~~~~~~~~~~~~~~~~~~
grain128aead-v2_opt.cpp: grain128aead-v2_opt.cpp:268:50: note: called from here
grain128aead-v2_opt.cpp:   268 |         __m128i imsg = _mm_gf2p8affine_epi64_epi8(_mm_cvtsi64_si128(msg), _mm_cvtsi64_si128(0x8040201008040201ULL), 0);
grain128aead-v2_opt.cpp:       |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
grain128aead-v2_opt.cpp: /usr/lib/gcc/x86_64-linux-gnu/14/include/gfniintrin.h:57:1: error: inlining failed in call to 'always_inline' '__m128i _mm_gf2p8affine_epi64_epi8(__m128i, __m128i, int)': target specific option mismatch
grain128aead-v2_opt.cpp:    57 | _mm_gf2p8affine_epi64_epi8 (__m128i __A, __m128i __B, const int __C)
grain128aead-v2_opt.cpp:       | ^~~~~~~~~~~~~~~~~~~~~~~~~~
grain128aead-v2_opt.cpp: grain128aead-v2_opt.cpp:268:50: note: called from here
grain128aead-v2_opt.cpp:   268 |         __m128i imsg = _mm_gf2p8affine_epi64_epi8(_mm_cvtsi64_si128(msg), _mm_cvtsi64_si128(0x8040201008040201ULL), 0);
grain128aead-v2_opt.cpp:       |                        ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

Compiler output


grain128aead-v2.c: grain128aead-v2.c:150:31: warning: argument 'sr' of type 'unsigned char[64]' with mismatched bound [-Warray-parameter]
grain128aead-v2.c:   150 | void auth_shift(unsigned char sr[64], unsigned char fb)
grain128aead-v2.c:       |                               ^
grain128aead-v2.c: ./grain128aead-v2.h:26:31: note: previously declared as 'unsigned char[32]' here
grain128aead-v2.c:    26 | void auth_shift(unsigned char sr[32], unsigned char fb);
grain128aead-v2.c:       |                               ^
grain128aead-v2.c: grain128aead-v2.c:426:21: warning: variable 'ac_cnt' set but not used [-Wunused-but-set-variable]
grain128aead-v2.c:   426 |         unsigned long long ac_cnt = 0;
grain128aead-v2.c:       |                            ^
grain128aead-v2.c: 2 warnings generated.

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(1+b1))
T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(1+b1))
T:refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(1+b1))
T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(1+b1))
T:refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(1+b1))

Compiler output


grain128aead-v2.c: grain128aead-v2.c:150:31: warning: argument 1 of type 'unsigned char[64]' with mismatched bound [-Warray-parameter=]
grain128aead-v2.c:   150 | void auth_shift(unsigned char sr[64], unsigned char fb)
grain128aead-v2.c:       |                 ~~~~~~~~~~~~~~^~~~~~
grain128aead-v2.c: In file included from grain128aead-v2.c:20:
grain128aead-v2.c: grain128aead-v2.h:26:31: note: previously declared as 'unsigned char[32]'
grain128aead-v2.c:    26 | void auth_shift(unsigned char sr[32], unsigned char fb);
grain128aead-v2.c:       |                 ~~~~~~~~~~~~~~^~~~~~
grain128aead-v2.c: grain128aead-v2.c: In function 'auth_shift':
grain128aead-v2.c: grain128aead-v2.c:155:11: warning: array subscript 63 is outside array bounds of 'unsigned char[32]' [-Warray-bounds=]
grain128aead-v2.c:   155 |         sr[63] = fb;
grain128aead-v2.c:       |         ~~^~~~
grain128aead-v2.c: grain128aead-v2.c:150:31: note: at offset 63 into object 'sr' of size [0, 32]
grain128aead-v2.c:   150 | void auth_shift(unsigned char sr[64], unsigned char fb)
grain128aead-v2.c:       |                 ~~~~~~~~~~~~~~^~~~~~
grain128aead-v2.c: grain128aead-v2.c:153:23: warning: '__builtin_memmove' forming offset [32, 62] is out of the bounds [0, 32] [-Warray-bounds=]
grain128aead-v2.c:   153 |                 sr[i] = sr[i+1];
grain128aead-v2.c:       |                 ~~~~~~^~~~~~~~~

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0)

Compiler output


grain128aead-v2.c: grain128aead-v2.c:150:31: warning: argument 1 of type 'unsigned char[64]' with mismatched bound [-Warray-parameter=]
grain128aead-v2.c:   150 | void auth_shift(unsigned char sr[64], unsigned char fb)
grain128aead-v2.c:       |                 ~~~~~~~~~~~~~~^~~~~~
grain128aead-v2.c: In file included from grain128aead-v2.c:20:
grain128aead-v2.c: grain128aead-v2.h:26:31: note: previously declared as 'unsigned char[32]'
grain128aead-v2.c:    26 | void auth_shift(unsigned char sr[32], unsigned char fb);
grain128aead-v2.c:       |                 ~~~~~~~~~~~~~~^~~~~~

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

Compiler output


grain128aead-v2_opt.cpp: In function 'void grain_auth(grain_ctx*, u8*, int)',
grain128aead-v2_opt.cpp:     inlined from 'void grain_auth(grain_ctx*, u8*, int)' at grain128aead-v2_opt.cpp:248:20,
grain128aead-v2_opt.cpp:     inlined from 'int grain_aead_encdec(unsigned char*, long long unsigned int*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, const unsigned char*) [with int to_decrypt = 0]' at grain128aead-v2_opt.cpp:413:12,
grain128aead-v2_opt.cpp:     inlined from 'int crypto_aead_grain128aeadv2_sse_timingleaks_encrypt(unsigned char*, long long unsigned int*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, const unsigned char*, const unsigned char*)' at grain128aead-v2_opt.cpp:504:29:
grain128aead-v2_opt.cpp: grain128aead-v2_opt.cpp:294:16: warning: 'grain.grain_ctx::A' is used uninitialized [-Wuninitialized]
grain128aead-v2_opt.cpp:   294 |         grain->A ^= ((*(u64*)(tmp + bytes)) << 1) ^ ((u64)tmp[bytes - 1] >> 7) ^ (((u64)_mm_cvtsi128_si64(reg)) << (65 - bits));
grain128aead-v2_opt.cpp:       |         ~~~~~~~^
grain128aead-v2_opt.cpp: grain128aead-v2_opt.cpp: In function 'int crypto_aead_grain128aeadv2_sse_timingleaks_encrypt(unsigned char*, long long unsigned int*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, const unsigned char*, const unsigned char*)':
grain128aead-v2_opt.cpp: grain128aead-v2_opt.cpp:383:19: note: 'grain' declared here
grain128aead-v2_opt.cpp:   383 |         grain_ctx grain;
grain128aead-v2_opt.cpp:       |                   ^~~~~
grain128aead-v2_opt.cpp: In function 'void grain_auth(grain_ctx*, u8*, int)',
grain128aead-v2_opt.cpp:     inlined from 'void grain_auth(grain_ctx*, u8*, int)' at grain128aead-v2_opt.cpp:248:20,
grain128aead-v2_opt.cpp:     inlined from 'int grain_aead_encdec(unsigned char*, long long unsigned int*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, const unsigned char*) [with int to_decrypt = 1]' at grain128aead-v2_opt.cpp:413:12,
grain128aead-v2_opt.cpp:     inlined from 'int crypto_aead_grain128aeadv2_sse_timingleaks_decrypt(unsigned char*, long long unsigned int*, unsigned char*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, const unsigned char*)' at grain128aead-v2_opt.cpp:518:29:
grain128aead-v2_opt.cpp: grain128aead-v2_opt.cpp:294:16: warning: 'grain.grain_ctx::A' may be used uninitialized [-Wmaybe-uninitialized]
grain128aead-v2_opt.cpp:   294 |         grain->A ^= ((*(u64*)(tmp + bytes)) << 1) ^ ((u64)tmp[bytes - 1] >> 7) ^ (((u64)_mm_cvtsi128_si64(reg)) << (65 - bits));
grain128aead-v2_opt.cpp:       |         ~~~~~~~^
grain128aead-v2_opt.cpp: grain128aead-v2_opt.cpp: In function 'int crypto_aead_grain128aeadv2_sse_timingleaks_decrypt(unsigned char*, long long unsigned int*, unsigned char*, const unsigned char*, long long unsigned int, const unsigned char*, long long unsigned int, const unsigned char*, const unsigned char*)':
grain128aead-v2_opt.cpp: grain128aead-v2_opt.cpp:383:19: note: 'grain' declared here
grain128aead-v2_opt.cpp:   383 |         grain_ctx grain;
grain128aead-v2_opt.cpp:       |                   ^~~~~

Number of similar (implementation,compiler) pairs: 2, namely:
ImplementationCompiler
T:sseg++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0)
T:sseg++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0)