Test results for amd64, panther, crypto_aead/grain128aeadv2

[Page version: 20260302 15:43:58]

Measurements for amd64, panther, crypto_aead Test results for amd64, panther, crypto_aead Test results for crypto_aead/grain128aeadv2
Computer: panther
Microarchitecture: amd64; Tiger Lake (806c1)
Architecture: amd64
CPU ID: GenuineIntel-000806c1-00-bfebfbff
SUPERCOP version: 20260217
Operation: crypto_aead
Primitive: grain128aeadv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
12787439241 0 069431 1360 1600T:gf2clang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026021820260217
12856010454 0 035434 1368 1568T:sseclang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026021820260217
12884341497 0 071687 1360 1600T:avx512clang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026021820260217
12894132127 0 057098 1368 1568T:avx512clang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026021820260217
12911016458 0 046603 1360 1632T:gf2clang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026021820260217
12932119574 0 049775 1360 1600T:sseclang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026021820260217
12945619606 0 049707 1360 1632T:sseclang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026021820260217
12966211011 0 036654 1368 1632T:sseclang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026021820260217
12981918728 0 048923 1360 1632T:avx512clang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026021820260217
12986429759 0 054730 1368 1568T:gf2clang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026021820260217
1315948565 0 034222 1368 1632T:gf2clang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026021820260217
13186910959 0 036606 1368 1632T:avx512clang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026021820260217
13265613361 0 039484 1296 1696T:sseg++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026021820260217
13309816756 0 045229 1288 1696T:sseg++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026021820260217
13534912681 0 041149 1288 1696T:gf2g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026021820260217
1353999093 0 035212 1296 1696T:gf2g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026021820260217
1355943928 0 028043 1272 1664T:sseg++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026021820260217
13646713038 0 039164 1296 1696T:avx512g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026021820260217
13650316476 0 044941 1288 1696T:avx512g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026021820260217
1387684002 0 028123 1272 1664T:avx512g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026021820260217
1388163654 0 027771 1272 1664T:gf2g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026021820260217
1388228981 0 034483 1288 1696T:gf2g++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026021820260217
14020711711 0 037203 1288 1696T:avx512g++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026021820260217
14065311802 0 037299 1288 1696T:sseg++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026021820260217
3376416606 0 032083 1288 1696T:x64g++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026021820260217
3401327123 0 033220 1296 1696T:x64g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026021820260217
3482045544 0 030546 1368 1568T:x64clang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026021820260217
3530505078 0 030934 1368 1632T:x64clang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026021820260217
35501513122 0 043291 1360 1632T:x64clang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026021820260217
35517113122 0 043391 1360 1600T:x64clang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2026021820260217
3830692420 0 026507 1272 1664T:x64g++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026021820260217

Checksum failure


d0dd6234d89dbd95039a8c1c4e9e8f6fa0d58228afa4fda263447f76c3102a36

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:x64g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)

Compiler output


grain128aead-v2_opt.cpp: In function 'void grain_authF(grain_ctx*, u8*)',
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:409:14,
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:321:16: warning: 'grain.grain_ctx::A' is used uninitialized [-Wuninitialized]
grain128aead-v2_opt.cpp:   321 |         grain->A ^= b ^ _mm_cvtsi128_si64(z);
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_authF(grain_ctx*, u8*)',
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:409:14,
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:320:24: warning: 'grain.grain_ctx::R' may be used uninitialized [-Wmaybe-uninitialized]
grain128aead-v2_opt.cpp:   320 |         u64 b = grain->R & (((long long)msg) >> 63);
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_authF(grain_ctx*, u8*)',
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:409:14,
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:321:16: warning: 'grain.grain_ctx::A' may be used uninitialized [-Wmaybe-uninitialized]
grain128aead-v2_opt.cpp:   321 |         grain->A ^= b ^ _mm_cvtsi128_si64(z);
grain128aead-v2_opt.cpp: ...

Number of similar (implementation,compiler) pairs: 2, namely:
ImplementationCompiler
T:avx512g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
T:avx512g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.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:
ImplementationCompiler
T:gf2g++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
T:gf2g++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.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:       |                 ~~~~~~~~~~~~~~^~~~~~
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 (12.2.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.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 (12.2.0)

Compiler output


grain128aead-v2_opt.cpp: In function 'void grain_authF(grain_ctx*, u8*)',
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:409:14,
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:321:16: warning: 'grain.grain_ctx::A' is used uninitialized [-Wuninitialized]
grain128aead-v2_opt.cpp:   321 |         grain->A ^= b ^ _mm_cvtsi128_si64(z);
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_authF(grain_ctx*, u8*)',
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:409:14,
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:320:24: warning: 'grain.grain_ctx::R' may be used uninitialized [-Wmaybe-uninitialized]
grain128aead-v2_opt.cpp:   320 |         u64 b = grain->R & (((long long)msg) >> 63);
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_authF(grain_ctx*, u8*)',
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:409:14,
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:321:16: warning: 'grain.grain_ctx::A' may be used uninitialized [-Wmaybe-uninitialized]
grain128aead-v2_opt.cpp:   321 |         grain->A ^= b ^ _mm_cvtsi128_si64(z);
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 (12.2.0)
T:sseg++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)