Implementation notes: amd64, hertz, crypto_dh/ed521gs

Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240716
Operation: crypto_dh
Primitive: ed521gs
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
296967623804 0 056849 844 1832T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
298969911526 0 036622 820 1800T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
299382115083 0 042102 828 1832T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
299993318731 0 047822 828 1896T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
306479024460 0 057617 844 1832T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
325574815209 0 042163 836 1832T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716

Compiler output


dh.c: dh.c:740:27: warning: unused variable 'S' [-Wunused-variable]
dh.c:   740 |         ECp W[1+(1<<(WINDOW-1))],S[2],Q;
dh.c:       |                                  ^
dh.c: dh.c:741:8: warning: unused variable 'j' [-Wunused-variable]
dh.c:   741 |         int i,j,m;
dh.c:       |               ^
dh.c: dh.c:741:10: warning: unused variable 'm' [-Wunused-variable]
dh.c:   741 |         int i,j,m;
dh.c:       |                 ^
dh.c: dh.c:763:8: warning: unused variable 'x' [-Wunused-variable]
dh.c:   763 |         int i,x,w[PANES];
dh.c:       |               ^
dh.c: dh.c:814:8: warning: unused variable 'x' [-Wunused-variable]
dh.c:   814 |         int i,x,w[PANES];
dh.c:       |               ^
dh.c: dh.c:815:14: warning: unused variable 'sh' [-Wunused-variable]
dh.c:   815 |         signed char sh;
dh.c:       |                     ^~
dh.c: dh.c:23:21: warning: unused variable 'bot52bits' [-Wunused-const-variable]
dh.c:    23 | static const type64 bot52bits = 0xfffffffffffff;
dh.c:       |                     ^~~~~~~~~
dh.c: 7 warnings generated.

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


dh.c: dh.c: In function 'mul':
dh.c: dh.c:741:17: warning: unused variable 'm' [-Wunused-variable]
dh.c:   741 |         int i,j,m;
dh.c:       |                 ^
dh.c: dh.c:741:15: warning: unused variable 'j' [-Wunused-variable]
dh.c:   741 |         int i,j,m;
dh.c:       |               ^
dh.c: dh.c:740:34: warning: unused variable 'S' [-Wunused-variable]
dh.c:   740 |         ECp W[1+(1<<(WINDOW-1))],S[2],Q;
dh.c:       |                                  ^
dh.c: dh.c: In function 'crypto_dh_ed521gs_ref_timingleaks_keypair':
dh.c: dh.c:763:15: warning: unused variable 'x' [-Wunused-variable]
dh.c:   763 |         int i,x,w[PANES];
dh.c:       |               ^
dh.c: dh.c: In function 'crypto_dh_ed521gs_ref_timingleaks':
dh.c: dh.c:815:21: warning: unused variable 'sh' [-Wunused-variable]
dh.c:   815 |         signed char sh;
dh.c:       |                     ^~
dh.c: dh.c:814:15: warning: unused variable 'x' [-Wunused-variable]
dh.c:   814 |         int i,x,w[PANES];
dh.c:       |               ^
dh.c: dh.c: At top level:
dh.c: dh.c:23:21: warning: 'bot52bits' defined but not used [-Wunused-const-variable=]
dh.c:    23 | static const type64 bot52bits = 0xfffffffffffff;
dh.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)

Namespace violations


dh.o add_1 T
dh.o add_2 T
dh.o copy T
dh.o double_1 T
dh.o double_2 T
dh.o double_3 T
dh.o fe_cmov T
dh.o gadd T
dh.o gcopy T
dh.o gdec T
dh.o ginv T
dh.o gmul T
dh.o gmul2 T
dh.o gmuli T
dh.o gsb2 T
dh.o gsqr T
dh.o gsqr2 T
dh.o gsub T
dh.o inf T
dh.o init T
dh.o mul T
dh.o neg T
dh.o norm T
dh.o precomp T
dh.o scr T
dh.o window T

Number of similar (implementation,compiler) pairs: 6, 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))
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)