Test results for amd64, hertz, crypto_aead/grain128aeadv2
[Page version: 20260629 14:45:54]
Measurements for amd64, hertz, crypto_aead
Test results for amd64, hertz, crypto_aead
Test results for crypto_aead/grain128aeadv2
Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20260627
Operation: crypto_aead
Primitive: grain128aeadv2
| Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 110135 | 8174 0 0 | 36546 1352 1696 | T:gf2 | clang++-22 -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260627 | 20260627 |
| 111678 | 10035 0 0 | 38402 1352 1696 | T:avx512 | clang++-22 -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260627 | 20260627 |
| 111743 | 18112 0 0 | 52132 1344 1696 | T:sse | clang++-22 -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260627 | 20260627 |
| 111777 | 18064 0 0 | 51468 1344 1696 | T:sse | clang++-22 -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260627 | 20260627 |
| 112261 | 10065 0 0 | 38402 1352 1696 | T:sse | clang++-22 -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260627 | 20260627 |
| 114978 | 38671 0 0 | 72100 1344 1696 | T:avx512 | clang++-22 -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260627 | 20260627 |
| 115740 | 36527 0 0 | 69940 1344 1696 | T:gf2 | clang++-22 -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260627 | 20260627 |
| 118818 | 15879 0 0 | 49940 1344 1696 | T:gf2 | clang++-22 -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260627 | 20260627 |
| 118893 | 17451 0 0 | 51540 1344 1696 | T:avx512 | clang++-22 -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260627 | 20260627 |
| 125952 | 3646 0 0 | 30633 1304 1728 | T:gf2 | g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260627 | 20260627 |
| 126506 | 4032 0 0 | 31025 1304 1728 | T:avx512 | g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260627 | 20260627 |
| 130687 | 4116 0 0 | 31089 1304 1728 | T:sse | g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260627 | 20260627 |
| 136113 | 8931 0 0 | 37758 1312 1824 | T:gf2 | g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260627 | 20260627 |
| 136456 | 12670 0 0 | 41534 1312 1824 | T:avx512 | g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260627 | 20260627 |
| 136957 | 18231 0 0 | 49542 1312 1824 | T:avx512 | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260627 | 20260627 |
| 137629 | 14727 0 0 | 46022 1312 1824 | T:gf2 | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260627 | 20260627 |
| 147124 | 19027 0 0 | 50246 1312 1824 | T:sse | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260627 | 20260627 |
| 147464 | 13327 0 0 | 42174 1312 1824 | T:sse | g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260627 | 20260627 |
| 267009 | 9193 0 0 | 43252 1344 1696 | T:x64 | clang++-22 -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260627 | 20260627 |
| 268864 | 9825 0 0 | 43308 1344 1696 | T:x64 | clang++-22 -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260627 | 20260627 |
| 292568 | 7061 0 0 | 35878 1312 1824 | T:x64 | g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260627 | 20260627 |
| 301071 | 5197 0 0 | 33586 1352 1696 | T:x64 | clang++-22 -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260627 | 20260627 |
| 313262 | 37065 0 0 | 68326 1312 1824 | T:x64 | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260627 | 20260627 |
| 329031 | 2444 0 0 | 29441 1304 1728 | T:x64 | g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260627 | 20260627 |
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_avx512_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_avx512_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_avx512_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_avx512_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:
| Implementation | Compiler |
| T:avx512 | g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (15.2.0) |
| T:avx512 | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (15.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_gf2_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_gf2_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_gf2_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_gf2_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:
| Implementation | Compiler |
| T:gf2 | g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (15.2.0) |
| T:gf2 | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (15.2.0) |
Compiler output
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: 1 warning generated.
Number of similar (implementation,compiler) pairs: 3, namely:
| Implementation | Compiler |
| T:ref | clang-22 -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_22.1.2_(1ubuntu1)) |
| T:ref | clang-22 -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_22.1.2_(1ubuntu1)) |
| T:ref | clang-22 -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_22.1.2_(1ubuntu1)) |
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:
| Implementation | Compiler |
| T:sse | g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (15.2.0) |
| T:sse | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (15.2.0) |