Implementation notes: amd64, hertz, crypto_aead/pi64cipher256v1oneround

Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240716
Operation: crypto_aead
Primitive: pi64cipher256v1oneround

Compiler output


encrypt.c: encrypt.c:262:41: warning: unused variable 't7' [-Wunused-variable]
encrypt.c:   262 |         u_int64_t  t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13;
encrypt.c:       |                                                ^~
encrypt.c: encrypt.c:262:53: warning: unused variable 't10' [-Wunused-variable]
encrypt.c:   262 |         u_int64_t  t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13;
encrypt.c:       |                                                            ^~~
encrypt.c: encrypt.c:262:58: warning: unused variable 't11' [-Wunused-variable]
encrypt.c:   262 |         u_int64_t  t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13;
encrypt.c:       |                                                                 ^~~
encrypt.c: encrypt.c:264:13: warning: unused variable 'x0' [-Wunused-variable]
encrypt.c:   264 |         u_int64_t  x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c:       |                    ^~
encrypt.c: encrypt.c:264:17: warning: unused variable 'x1' [-Wunused-variable]
encrypt.c:   264 |         u_int64_t  x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c:       |                        ^~
encrypt.c: encrypt.c:264:21: warning: unused variable 'x2' [-Wunused-variable]
encrypt.c:   264 |         u_int64_t  x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c:       |                            ^~
encrypt.c: encrypt.c:264:25: warning: unused variable 'x3' [-Wunused-variable]
encrypt.c:   264 |         u_int64_t  x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c:       |                                ^~
encrypt.c: encrypt.c:264:29: warning: unused variable 'y0' [-Wunused-variable]
encrypt.c:   264 |         u_int64_t  x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c:       |                                    ^~
encrypt.c: encrypt.c:264:33: warning: unused variable 'y1' [-Wunused-variable]
encrypt.c: ...

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:optimized_nonSSEclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:optimized_nonSSEclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:optimized_nonSSEclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

Compiler output


encrypt.c: encrypt.c: In function 'crypto_aead_pi64cipher256v1oneround_optimized_nonSSE_timingleaks_encrypt':
encrypt.c: encrypt.c:285:74: warning: unused variable 'ii2' [-Wunused-variable]
encrypt.c:   285 |         unsigned long long i, j, jj, ii, b, i1, j1, a, mblocks, b1, ii1, ii2;
encrypt.c:       |                                                                          ^~~
encrypt.c: encrypt.c:285:69: warning: unused variable 'ii1' [-Wunused-variable]
encrypt.c:   285 |         unsigned long long i, j, jj, ii, b, i1, j1, a, mblocks, b1, ii1, ii2;
encrypt.c:       |                                                                     ^~~
encrypt.c: encrypt.c:285:49: warning: unused variable 'j1' [-Wunused-variable]
encrypt.c:   285 |         unsigned long long i, j, jj, ii, b, i1, j1, a, mblocks, b1, ii1, ii2;
encrypt.c:       |                                                 ^~
encrypt.c: encrypt.c:285:38: warning: unused variable 'ii' [-Wunused-variable]
encrypt.c:   285 |         unsigned long long i, j, jj, ii, b, i1, j1, a, mblocks, b1, ii1, ii2;
encrypt.c:       |                                      ^~
encrypt.c: encrypt.c:281:38: warning: variable 'CommonInternalState8' set but not used [-Wunused-but-set-variable]
encrypt.c:   281 |         u_int8_t   *InternalState8, *CommonInternalState8, *tempTag8;
encrypt.c:       |                                      ^~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:268:99: warning: unused variable 'IS15' [-Wunused-variable]
encrypt.c:   268 |         u_int64_t IS0, IS1, IS2, IS3, IS4, IS5, IS6, IS7, IS8, IS9, IS10, IS11, IS12, IS13, IS14, IS15;
encrypt.c:       |                                                                                                   ^~~~
encrypt.c: encrypt.c:268:93: warning: unused variable 'IS14' [-Wunused-variable]
encrypt.c:   268 |         u_int64_t IS0, IS1, IS2, IS3, IS4, IS5, IS6, IS7, IS8, IS9, IS10, IS11, IS12, IS13, IS14, IS15;
encrypt.c:       |                                                                                             ^~~~
encrypt.c: encrypt.c:268:87: warning: unused variable 'IS13' [-Wunused-variable]
encrypt.c:   268 |         u_int64_t IS0, IS1, IS2, IS3, IS4, IS5, IS6, IS7, IS8, IS9, IS10, IS11, IS12, IS13, IS14, IS15;
encrypt.c:       |                                                                                       ^~~~
encrypt.c: ...

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:optimized_nonSSEgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:optimized_nonSSEgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:optimized_nonSSEgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Compiler output


encrypt.c: encrypt.c:132:64: warning: unused variable 't12' [-Wunused-variable]
encrypt.c:   132 |                 u_int64_t  t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13;
encrypt.c:       |                                                                              ^~~
encrypt.c: encrypt.c:132:69: warning: unused variable 't13' [-Wunused-variable]
encrypt.c:   132 |                 u_int64_t  t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13;
encrypt.c:       |                                                                                   ^~~
encrypt.c: encrypt.c:134:14: warning: unused variable 'x0' [-Wunused-variable]
encrypt.c:   134 |                 u_int64_t  x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c:       |                            ^~
encrypt.c: encrypt.c:134:18: warning: unused variable 'x1' [-Wunused-variable]
encrypt.c:   134 |                 u_int64_t  x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c:       |                                ^~
encrypt.c: encrypt.c:134:22: warning: unused variable 'x2' [-Wunused-variable]
encrypt.c:   134 |                 u_int64_t  x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c:       |                                    ^~
encrypt.c: encrypt.c:134:26: warning: unused variable 'x3' [-Wunused-variable]
encrypt.c:   134 |                 u_int64_t  x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c:       |                                        ^~
encrypt.c: encrypt.c:134:30: warning: unused variable 'y0' [-Wunused-variable]
encrypt.c:   134 |                 u_int64_t  x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c:       |                                            ^~
encrypt.c: encrypt.c:134:34: warning: unused variable 'y1' [-Wunused-variable]
encrypt.c:   134 |                 u_int64_t  x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c:       |                                                ^~
encrypt.c: encrypt.c:134:38: warning: unused variable 'y2' [-Wunused-variable]
encrypt.c: ...

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

Compiler output


encrypt.c: encrypt.c: In function 'crypto_aead_pi64cipher256v1oneround_ref_timingleaks_encrypt':
encrypt.c: encrypt.c:229:71: warning: operation on 'i1' may be undefined [-Wsequence-point]
encrypt.c:   229 |                                 InternalState8[i1] = InternalState8[i1++] ^ ad[b + i];
encrypt.c:       |                                                                     ~~^~
encrypt.c: encrypt.c:331:101: warning: operation on 'i1' may be undefined [-Wsequence-point]
encrypt.c:   331 |                                 c[CRYPTO_NSECBYTES + b + i] = InternalState8[i1] = InternalState8[i1++] ^ m[b + i];
encrypt.c:       |                                                                                                   ~~^~
encrypt.c: encrypt.c:148:57: warning: unused variable 'j1' [-Wunused-variable]
encrypt.c:   148 |                 unsigned long long i, j, jj, ii, b, i1, j1, a;
encrypt.c:       |                                                         ^~
encrypt.c: encrypt.c:144:46: warning: variable 'CommonInternalState8' set but not used [-Wunused-but-set-variable]
encrypt.c:   144 |                 u_int8_t   *InternalState8, *CommonInternalState8, *tempTag8;
encrypt.c:       |                                              ^~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:136:66: warning: variable 'k64' set but not used [-Wunused-but-set-variable]
encrypt.c:   136 |                 u_int64_t  *c64, *m64, *ad64, *nsec64, *npub64, *k64;
encrypt.c:       |                                                                  ^~~
encrypt.c: encrypt.c:136:57: warning: variable 'npub64' set but not used [-Wunused-but-set-variable]
encrypt.c:   136 |                 u_int64_t  *c64, *m64, *ad64, *nsec64, *npub64, *k64;
encrypt.c:       |                                                         ^~~~~~
encrypt.c: encrypt.c:134:72: warning: unused variable 'z3' [-Wunused-variable]
encrypt.c:   134 |                 u_int64_t  x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c:       |                                                                        ^~
encrypt.c: encrypt.c:134:68: warning: unused variable 'z2' [-Wunused-variable]
encrypt.c:   134 |                 u_int64_t  x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c:       |                                                                    ^~
encrypt.c: ...

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)