Test results for amd64, puddle, crypto_aead/grain128aeadv2
[Page version: 20261104 11:07:03]
Measurements for amd64, puddle, crypto_aead
Test results for amd64, puddle, crypto_aead
Test results for crypto_aead/grain128aeadv2
Computer: puddle
Microarchitecture: amd64; Ice Lake (706e5)
Architecture: amd64
CPU ID: GenuineIntel-000706e5-00-bfebfbff
SUPERCOP version: 20261004
Operation: crypto_aead
Primitive: grain128aeadv2
| Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 117543 | 9805 0 0 | 36137 1344 1624 | T:sse | clang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20261008 | 20261004 |
| 117625 | 10199 0 0 | 37779 1352 1688 | T:sse | clang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20261008 | 20261004 |
| 118009 | 27954 0 0 | 54281 1344 1624 | T:gf2 | clang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20261008 | 20261004 |
| 118014 | 17051 0 0 | 47357 1344 1688 | T:avx512 | clang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20261008 | 20261004 |
| 118075 | 17629 0 0 | 47885 1344 1688 | T:sse | clang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20261008 | 20261004 |
| 118531 | 17629 0 0 | 47605 1344 1688 | T:sse | clang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20261008 | 20261004 |
| 118688 | 36290 0 0 | 66269 1344 1688 | T:gf2 | clang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20261008 | 20261004 |
| 118694 | 15303 0 0 | 45565 1344 1688 | T:gf2 | clang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20261008 | 20261004 |
| 119070 | 29778 0 0 | 56137 1344 1624 | T:avx512 | clang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20261008 | 20261004 |
| 119753 | 10164 0 0 | 37779 1352 1688 | T:avx512 | clang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20261008 | 20261004 |
| 120153 | 8306 0 0 | 35923 1352 1688 | T:gf2 | clang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20261008 | 20261004 |
| 123393 | 38034 0 0 | 68061 1344 1688 | T:avx512 | clang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20261008 | 20261004 |
| 131947 | 3953 0 0 | 29786 1304 1720 | T:sse | g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20261008 | 20261004 |
| 132283 | 3946 0 0 | 29786 1304 1720 | T:avx512 | g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20261008 | 20261004 |
| 132292 | 3580 0 0 | 29402 1304 1720 | T:gf2 | g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20261008 | 20261004 |
| 133610 | 11945 0 0 | 39782 1312 1752 | T:avx512 | g++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20261008 | 20261004 |
| 134200 | 9418 0 0 | 37254 1312 1752 | T:gf2 | g++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20261008 | 20261004 |
| 134524 | 14781 0 0 | 44605 1328 1752 | T:gf2 | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20261008 | 20261004 |
| 134568 | 9467 0 0 | 37781 1328 1752 | T:gf2 | g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20261008 | 20261004 |
| 134571 | 18169 0 0 | 48029 1328 1752 | T:avx512 | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20261008 | 20261004 |
| 134684 | 12953 0 0 | 41269 1328 1752 | T:avx512 | g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20261008 | 20261004 |
| 134731 | 18393 0 0 | 48221 1328 1752 | T:sse | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20261008 | 20261004 |
| 134931 | 13148 0 0 | 41461 1328 1752 | T:sse | g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20261008 | 20261004 |
| 135010 | 12041 0 0 | 39846 1312 1752 | T:sse | g++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20261008 | 20261004 |
| 331858 | 10685 0 0 | 41093 1344 1688 | T:x64 | clang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20261008 | 20261004 |
| 334383 | 5544 0 0 | 31929 1344 1624 | T:x64 | clang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20261008 | 20261004 |
| 334693 | 6742 0 0 | 34542 1312 1752 | T:x64 | g++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20261008 | 20261004 |
| 336279 | 11785 0 0 | 41909 1344 1688 | T:x64 | clang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20261008 | 20261004 |
| 338792 | 5142 0 0 | 32963 1352 1688 | T:x64 | clang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20261008 | 20261004 |
| 372078 | 7101 0 0 | 35389 1328 1752 | T:x64 | g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20261008 | 20261004 |
| 375534 | 36363 0 0 | 66237 1328 1752 | T:x64 | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20261008 | 20261004 |
| 386616 | 2426 0 0 | 28242 1304 1720 | T:x64 | g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20261008 | 20261004 |
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 (14.2.0) |
| T:avx512 | g++ -march=native -mtune=native -O3 -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_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 (14.2.0) |
| T:gf2 | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.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: 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_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 (14.2.0) |
| T:sse | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |