Test results for amd64, hertz, crypto_aead/grain128aeadv2
[Page version: 20261007 20:07:58]
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: 20261004
Operation: crypto_aead
Primitive: grain128aeadv2
| Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 109971 | 8153 0 0 | 36994 1368 1696 | T:gf2 | clang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20261006 | 20261004 |
| 111450 | 10020 0 0 | 38850 1368 1696 | T:avx512 | clang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20261006 | 20261004 |
| 111794 | 18048 0 0 | 53740 1360 1696 | T:sse | clang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20261006 | 20261004 |
| 112038 | 18048 0 0 | 51724 1360 1696 | T:sse | clang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20261006 | 20261004 |
| 112162 | 10050 0 0 | 38914 1368 1696 | T:sse | clang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20261006 | 20261004 |
| 115007 | 38610 0 0 | 72292 1360 1696 | T:avx512 | clang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20261006 | 20261004 |
| 115970 | 36498 0 0 | 70132 1360 1696 | T:gf2 | clang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20261006 | 20261004 |
| 118729 | 17435 0 0 | 53148 1360 1696 | T:avx512 | clang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20261006 | 20261004 |
| 118962 | 15783 0 0 | 51484 1360 1696 | T:gf2 | clang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20261006 | 20261004 |
| 125829 | 3646 0 0 | 31145 1320 1728 | T:gf2 | g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20261006 | 20261004 |
| 126877 | 4032 0 0 | 31537 1320 1728 | T:avx512 | g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20261006 | 20261004 |
| 130543 | 4116 0 0 | 31665 1320 1728 | T:sse | g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20261006 | 20261004 |
| 136121 | 8931 0 0 | 38270 1328 1824 | T:gf2 | g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20261006 | 20261004 |
| 136624 | 12670 0 0 | 42046 1328 1824 | T:avx512 | g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20261006 | 20261004 |
| 136950 | 18231 0 0 | 50054 1328 1824 | T:avx512 | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20261006 | 20261004 |
| 137467 | 14727 0 0 | 46598 1328 1824 | T:gf2 | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20261006 | 20261004 |
| 146671 | 19027 0 0 | 50822 1328 1824 | T:sse | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20261006 | 20261004 |
| 147795 | 13327 0 0 | 42686 1328 1824 | T:sse | g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20261006 | 20261004 |
| 267820 | 10627 0 0 | 46284 1360 1696 | T:x64 | clang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20261006 | 20261004 |
| 284434 | 11755 0 0 | 45420 1360 1696 | T:x64 | clang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20261006 | 20261004 |
| 292727 | 7061 0 0 | 36390 1328 1824 | T:x64 | g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20261006 | 20261004 |
| 300886 | 5176 0 0 | 34098 1368 1696 | T:x64 | clang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20261006 | 20261004 |
| 313275 | 37065 0 0 | 68902 1328 1824 | T:x64 | g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20261006 | 20261004 |
| 330684 | 2444 0 0 | 29953 1320 1728 | T:x64 | g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20261006 | 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 (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: 4, namely:
| Implementation | Compiler |
| T:ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_21.1.8_(6ubuntu1)) |
| T:ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_21.1.8_(6ubuntu1)) |
| T:ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_21.1.8_(6ubuntu1)) |
| T:ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_21.1.8_(6ubuntu1)) |
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) |