Test results for amd64, h4atom, crypto_aead/grain128aeadv2
[Page version: 20251115 13:22:58]
Measurements for amd64, h4atom, crypto_aead
Test results for amd64, h4atom, crypto_aead
Test results for crypto_aead/grain128aeadv2
Computer: h4atom
Microarchitecture: amd64; Bonnell (106ca)
Architecture: amd64
CPU ID: GenuineIntel-000106ca-bfe9fbff
SUPERCOP version: 20250922
Operation: crypto_aead
Primitive: grain128aeadv2
| Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 1115710 | 9658 0 0 | 25380 852 1032 | T:x64 | clang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250907 | 20250415 |
| 1120730 | 35361 0 0 | 51206 780 1128 | T:x64 | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250907 | 20250415 |
| 1169124 | 8952 0 0 | 25828 852 1032 | T:x64 | clang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250907 | 20250415 |
| 1177692 | 7269 0 0 | 21902 780 1128 | T:x64 | g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250907 | 20250415 |
| 1265564 | 5297 0 0 | 18790 844 1032 | T:x64 | clang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250907 | 20250415 |
| 1268084 | 5641 0 0 | 19796 852 1032 | T:x64 | clang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250907 | 20250415 |
| 1270075 | 6873 0 0 | 21157 772 1128 | T:x64 | g++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250907 | 20250415 |
| 1770683 | 2410 0 0 | 15113 756 1096 | T:x64 | g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250907 | 20250415 |
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:
| Implementation | Compiler |
| T:avx512 | clang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
| T:avx512 | clang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
| T:avx512 | clang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
| T:avx512 | clang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
Compiler output
grain128aead-v2_opt.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/14/include/immintrin.h:41,
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/wmmintrin.h: In function 'void grain_auth(grain_ctx*, u8*, int)':
grain128aead-v2_opt.cpp: /usr/lib/gcc/x86_64-linux-gnu/14/include/wmmintrin.h:103:1: error: inlining failed in call to 'always_inline' '__m128i _mm_clmulepi64_si128(__m128i, __m128i, int)': target specific option mismatch
grain128aead-v2_opt.cpp: 103 | _mm_clmulepi64_si128 (__m128i __X, __m128i __Y, const int __I)
grain128aead-v2_opt.cpp: | ^~~~~~~~~~~~~~~~~~~~
grain128aead-v2_opt.cpp: grain128aead-v2_opt.cpp:282:35: note: called from here
grain128aead-v2_opt.cpp: 282 | reg = _mm_clmulepi64_si128(reg, imsg, 0x0f);
grain128aead-v2_opt.cpp: | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
grain128aead-v2_opt.cpp: /usr/lib/gcc/x86_64-linux-gnu/14/include/wmmintrin.h:103:1: error: inlining failed in call to 'always_inline' '__m128i _mm_clmulepi64_si128(__m128i, __m128i, int)': target specific option mismatch
grain128aead-v2_opt.cpp: 103 | _mm_clmulepi64_si128 (__m128i __X, __m128i __Y, const int __I)
grain128aead-v2_opt.cpp: | ^~~~~~~~~~~~~~~~~~~~
grain128aead-v2_opt.cpp: grain128aead-v2_opt.cpp:281:25: note: called from here
grain128aead-v2_opt.cpp: 281 | _mm_storeu_si128((__m128i*)tmp, _mm_clmulepi64_si128(reg, imsg, 0x00));
grain128aead-v2_opt.cpp: | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
grain128aead-v2_opt.cpp: /usr/lib/gcc/x86_64-linux-gnu/14/include/wmmintrin.h:103:1: error: inlining failed in call to 'always_inline' '__m128i _mm_clmulepi64_si128(__m128i, __m128i, int)': target specific option mismatch
grain128aead-v2_opt.cpp: 103 | _mm_clmulepi64_si128 (__m128i __X, __m128i __Y, const int __I)
grain128aead-v2_opt.cpp: | ^~~~~~~~~~~~~~~~~~~~
grain128aead-v2_opt.cpp: grain128aead-v2_opt.cpp:281:25: note: called from here
grain128aead-v2_opt.cpp: 281 | _mm_storeu_si128((__m128i*)tmp, _mm_clmulepi64_si128(reg, imsg, 0x00));
grain128aead-v2_opt.cpp: | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
grain128aead-v2_opt.cpp: /usr/lib/gcc/x86_64-linux-gnu/14/include/wmmintrin.h:103:1: error: inlining failed in call to 'always_inline' '__m128i _mm_clmulepi64_si128(__m128i, __m128i, int)': target specific option mismatch
grain128aead-v2_opt.cpp: 103 | _mm_clmulepi64_si128 (__m128i __X, __m128i __Y, const int __I)
grain128aead-v2_opt.cpp: ...
Number of similar (implementation,compiler) pairs: 8, namely:
| Implementation | Compiler |
| T:avx512 | g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| T:avx512 | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| T:avx512 | g++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| T:avx512 | g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| T:sse | g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| T:sse | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| T:sse | g++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| T:sse | g++ -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:
| Implementation | Compiler |
| T:gf2 | clang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
| T:gf2 | clang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
| T:gf2 | clang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
| T:gf2 | clang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
Compiler output
grain128aead-v2_opt.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/14/include/immintrin.h:41,
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/wmmintrin.h: In function 'void grain_auth(grain_ctx*, u8*, int)':
grain128aead-v2_opt.cpp: /usr/lib/gcc/x86_64-linux-gnu/14/include/wmmintrin.h:103:1: error: inlining failed in call to 'always_inline' '__m128i _mm_clmulepi64_si128(__m128i, __m128i, int)': target specific option mismatch
grain128aead-v2_opt.cpp: 103 | _mm_clmulepi64_si128 (__m128i __X, __m128i __Y, const int __I)
grain128aead-v2_opt.cpp: | ^~~~~~~~~~~~~~~~~~~~
grain128aead-v2_opt.cpp: grain128aead-v2_opt.cpp:282:35: note: called from here
grain128aead-v2_opt.cpp: 282 | reg = _mm_clmulepi64_si128(reg, imsg, 0x0f);
grain128aead-v2_opt.cpp: | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
grain128aead-v2_opt.cpp: /usr/lib/gcc/x86_64-linux-gnu/14/include/wmmintrin.h:103:1: error: inlining failed in call to 'always_inline' '__m128i _mm_clmulepi64_si128(__m128i, __m128i, int)': target specific option mismatch
grain128aead-v2_opt.cpp: 103 | _mm_clmulepi64_si128 (__m128i __X, __m128i __Y, const int __I)
grain128aead-v2_opt.cpp: | ^~~~~~~~~~~~~~~~~~~~
grain128aead-v2_opt.cpp: grain128aead-v2_opt.cpp:281:25: note: called from here
grain128aead-v2_opt.cpp: 281 | _mm_storeu_si128((__m128i*)tmp, _mm_clmulepi64_si128(reg, imsg, 0x00));
grain128aead-v2_opt.cpp: | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
grain128aead-v2_opt.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/14/include/immintrin.h:123:
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: ...
Number of similar (implementation,compiler) pairs: 4, namely:
| Implementation | Compiler |
| T:gf2 | g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| T:gf2 | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| T:gf2 | g++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| T:gf2 | g++ -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:
| Implementation | Compiler |
| T:ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
| T:ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
| T:ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
| T:ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
| T:ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+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:
| Implementation | Compiler |
| T:ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| T:ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
| T:ref | gcc -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:
| Implementation | Compiler |
| T:ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
Compiler output
grain128aead-v2_opt.cpp: grain128aead-v2_opt.cpp:317:14: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
grain128aead-v2_opt.cpp: 317 | __m128i x = _mm_clmulepi64_si128(reg, imsg, 0x00);
grain128aead-v2_opt.cpp: | ^
grain128aead-v2_opt.cpp: /usr/lib/llvm-19/lib/clang/19/include/__wmmintrin_pclmul.h:45:13: note: expanded from macro '_mm_clmulepi64_si128'
grain128aead-v2_opt.cpp: 45 | ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(X), \
grain128aead-v2_opt.cpp: | ^
grain128aead-v2_opt.cpp: grain128aead-v2_opt.cpp:318:14: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
grain128aead-v2_opt.cpp: 318 | __m128i y = _mm_clmulepi64_si128(reg, imsg, 0x0f);
grain128aead-v2_opt.cpp: | ^
grain128aead-v2_opt.cpp: /usr/lib/llvm-19/lib/clang/19/include/__wmmintrin_pclmul.h:45:13: note: expanded from macro '_mm_clmulepi64_si128'
grain128aead-v2_opt.cpp: 45 | ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(X), \
grain128aead-v2_opt.cpp: | ^
grain128aead-v2_opt.cpp: grain128aead-v2_opt.cpp:281:34: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
grain128aead-v2_opt.cpp: 281 | _mm_storeu_si128((__m128i*)tmp, _mm_clmulepi64_si128(reg, imsg, 0x00));
grain128aead-v2_opt.cpp: | ^
grain128aead-v2_opt.cpp: /usr/lib/llvm-19/lib/clang/19/include/__wmmintrin_pclmul.h:45:13: note: expanded from macro '_mm_clmulepi64_si128'
grain128aead-v2_opt.cpp: 45 | ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(X), \
grain128aead-v2_opt.cpp: | ^
grain128aead-v2_opt.cpp: grain128aead-v2_opt.cpp:282:8: error: '__builtin_ia32_pclmulqdq128' needs target feature pclmul
grain128aead-v2_opt.cpp: 282 | reg = _mm_clmulepi64_si128(reg, imsg, 0x0f);
grain128aead-v2_opt.cpp: | ^
grain128aead-v2_opt.cpp: /usr/lib/llvm-19/lib/clang/19/include/__wmmintrin_pclmul.h:45:13: note: expanded from macro '_mm_clmulepi64_si128'
grain128aead-v2_opt.cpp: 45 | ((__m128i)__builtin_ia32_pclmulqdq128((__v2di)(__m128i)(X), \
grain128aead-v2_opt.cpp: | ^
grain128aead-v2_opt.cpp: 4 errors generated.
Number of similar (implementation,compiler) pairs: 4, namely:
| Implementation | Compiler |
| T:sse | clang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
| T:sse | clang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
| T:sse | clang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |
| T:sse | clang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_19.1.7_(3+b1)) |