Implementation notes: amd64, hydra8, crypto_aead/grain128aead
Computer: hydra8
Microarchitecture: amd64; Ivy Bridge+AES (306a9)
Architecture: amd64
CPU ID: GenuineIntel-000306a9-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_aead
Primitive: grain128aead
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
388208 | 6696 0 0 | 23370 884 1024 | T:opt32 | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
390082 | 6758 0 0 | 24762 884 1024 | T:opt32 | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
415805 | 3262 0 0 | 17122 804 1056 | T:opt32 | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
430305 | 7246 0 0 | 23298 884 1024 | T:opt32 | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
443444 | 3749 0 0 | 18975 828 1088 | T:opt32 | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
451549 | 4201 0 0 | 17996 876 1024 | T:opt32 | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
457068 | 6020 0 0 | 20226 884 1024 | T:opt32 | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
596612 | 9382 0 0 | 26103 828 1088 | T:opt32 | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
755282 | 3908 0 0 | 19383 828 1088 | T:opt32 | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
6775736 | 15183 0 1 | 31908 892 1024 | T:ref | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
7097435 | 17567 0 1 | 35460 892 1024 | T:ref | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
7408643 | 14399 0 1 | 31249 836 1120 | T:ref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
7619319 | 8953 0 1 | 25076 892 1024 | T:ref | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
9588052 | 7306 0 1 | 21030 884 1024 | T:ref | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
12545403 | 5289 0 1 | 20897 836 1120 | T:ref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
14146883 | 5519 0 1 | 19836 892 1024 | T:ref | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
19293307 | 3676 0 1 | 17644 812 1088 | T:ref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
62819225 | 4122 0 1 | 19286 820 1120 | T:ref | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
Compiler output
grain128aead_32p.c: grain128aead_32p.c:78:6: warning: variable 'mstmp' set but not used [-Wunused-but-set-variable]
grain128aead_32p.c: u16 mstmp = ms;
grain128aead_32p.c: ^
grain128aead_32p.c: grain128aead_32p.c:111:5: warning: variable 'mstmp' set but not used [-Wunused-but-set-variable]
grain128aead_32p.c: u8 mstmp = ms;
grain128aead_32p.c: ^
grain128aead_32p.c: 2 warnings generated.
Number of similar (implementation,compiler) pairs: 5, namely:
Implementation | Compiler |
T:opt32 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:opt32 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:opt32 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:opt32 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
T:opt32 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
Compiler output
grain128aead_32p.c: grain128aead_32p.c: In function 'crypto_aead_grain128aead_opt32_timingleaks_encrypt':
grain128aead_32p.c: grain128aead_32p.c:275:13: warning: 'rem_word' may be used uninitialized in this function [-Wmaybe-uninitialized]
grain128aead_32p.c: 275 | u32 rem_word;
grain128aead_32p.c: | ^~~~~~~~
grain128aead_32p.c: grain128aead_32p.c: In function 'crypto_aead_grain128aead_opt32_timingleaks_decrypt':
grain128aead_32p.c: grain128aead_32p.c:365:13: warning: 'rem_word' may be used uninitialized in this function [-Wmaybe-uninitialized]
grain128aead_32p.c: 365 | u32 rem_word;
grain128aead_32p.c: | ^~~~~~~~
Number of similar (implementation,compiler) pairs: 2, namely:
Implementation | Compiler |
T:opt32 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:opt32 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
Compiler output
grain128aead_32p.c: grain128aead_32p.c: In function 'crypto_aead_grain128aead_opt32_timingleaks_encrypt':
grain128aead_32p.c: grain128aead_32p.c:295:35: warning: 'rem_word' may be used uninitialized in this function [-Wmaybe-uninitialized]
grain128aead_32p.c: 295 | *(c + j) = ((u8) (getkb(rem_word) >> 8)) ^ *(m + j);
grain128aead_32p.c: | ^~~~~~~~~~~~~~~
grain128aead_32p.c: grain128aead_32p.c: In function 'crypto_aead_grain128aead_opt32_timingleaks_decrypt':
grain128aead_32p.c: grain128aead_32p.c:385:35: warning: 'rem_word' may be used uninitialized in this function [-Wmaybe-uninitialized]
grain128aead_32p.c: 385 | *(m + j) = ((u8) (getkb(rem_word) >> 8)) ^ *(c + j);
grain128aead_32p.c: | ^~~~~~~~~~~~~~~
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:opt32 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
Compiler output
grain128aead.c: grain128aead.c:140:31: warning: argument 1 of type 'unsigned char[64]' with mismatched bound [-Warray-parameter=]
grain128aead.c: 140 | void auth_shift(unsigned char sr[64], unsigned char fb)
grain128aead.c: | ~~~~~~~~~~~~~~^~~~~~
grain128aead.c: In file included from grain128aead.c:20:
grain128aead.c: grain128aead.h:26:31: note: previously declared as 'unsigned char[32]'
grain128aead.c: 26 | void auth_shift(unsigned char sr[32], unsigned char fb);
grain128aead.c: | ~~~~~~~~~~~~~~^~~~~~
grain128aead.c: grain128aead.c: In function 'auth_shift':
grain128aead.c: grain128aead.c:145:11: warning: array subscript 63 is outside array bounds of 'unsigned char[32]' [-Warray-bounds]
grain128aead.c: 145 | sr[63] = fb;
grain128aead.c: | ~~^~~~
grain128aead.c: grain128aead.c:140:31: note: while referencing 'sr'
grain128aead.c: 140 | void auth_shift(unsigned char sr[64], unsigned char fb)
grain128aead.c: | ~~~~~~~~~~~~~~^~~~~~
grain128aead.c: grain128aead.c:143:23: warning: '__builtin_memmove' forming offset [32, 62] is out of the bounds [0, 32] [-Warray-bounds]
grain128aead.c: 143 | sr[i] = sr[i+1];
grain128aead.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 (11.4.0) |
T:ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
Compiler output
grain128aead.c: grain128aead.c:140:31: warning: argument 1 of type 'unsigned char[64]' with mismatched bound [-Warray-parameter=]
grain128aead.c: 140 | void auth_shift(unsigned char sr[64], unsigned char fb)
grain128aead.c: | ~~~~~~~~~~~~~~^~~~~~
grain128aead.c: In file included from grain128aead.c:20:
grain128aead.c: grain128aead.h:26:31: note: previously declared as 'unsigned char[32]'
grain128aead.c: 26 | void auth_shift(unsigned char sr[32], unsigned char fb);
grain128aead.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 (11.4.0) |