Implementation notes: amd64, hertz, crypto_dh/gls254

Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240716
Operation: crypto_dh
Primitive: gls254
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
11951041142 196608 073737 197460 1832T:optclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
12001241142 196608 073625 197460 1832T:optclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
13310520858 196608 047275 197452 1832T:optclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
14815920545 196608 048900 197436 1896T:optgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
152713130160 16 0162544 876 1832T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
156129132176 16 0164544 876 1832T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
15738319233 196608 045580 197436 1832T:optgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
170820113332 16 0139786 868 1832T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
17420217382 196608 042372 197428 1800T:optgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
17527713793 98336 040491 99172 1832T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
17663526305 98336 055019 99172 1896T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716

Test failure


error 111

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

Compiler output


dh.c: In file included from dh.c:10:
dh.c: ./ffa.h:273:13: warning: unused variable 'dt0' [-Wunused-variable]
dh.c:   273 |     __m128i dt0, dt1;
dh.c:       |             ^~~
dh.c: ./ffa.h:273:18: warning: unused variable 'dt1' [-Wunused-variable]
dh.c:   273 |     __m128i dt0, dt1;
dh.c:       |                  ^~~
dh.c: In file included from dh.c:12:
dh.c: ./smu.h:58:18: warning: variable 'ml00' set but not used [-Wunused-but-set-variable]
dh.c:    58 |     __m128i ONE, ml00;
dh.c:       |                  ^
dh.c: ./smu.h:196:31: warning: unused variable 'one' [-Wunused-variable]
dh.c:   196 |     __m128i sig_sse, msk_sse, one;
dh.c:       |                               ^~~
dh.c: 4 warnings generated.

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

Compiler output


dh.c: In file included from dh.c:10:
dh.c: ffa.h: In function 'low_sqr':
dh.c: ffa.h:273:18: warning: unused variable 'dt1' [-Wunused-variable]
dh.c:   273 |     __m128i dt0, dt1;
dh.c:       |                  ^~~
dh.c: ffa.h:273:13: warning: unused variable 'dt0' [-Wunused-variable]
dh.c:   273 |     __m128i dt0, dt1;
dh.c:       |             ^~~
dh.c: In file included from dh.c:12:
dh.c: smu.h: In function 'smu_pre_5nf':
dh.c: smu.h:58:18: warning: variable 'ml00' set but not used [-Wunused-but-set-variable]
dh.c:    58 |     __m128i ONE, ml00;
dh.c:       |                  ^~~~
dh.c: smu.h: In function 'smu_5nf_dna_ltr':
dh.c: smu.h:196:31: warning: unused variable 'one' [-Wunused-variable]
dh.c:   196 |     __m128i sig_sse, msk_sse, one;
dh.c:       |                               ^~~

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

Compiler output


dh.c: In file included from dh.c:7:
dh.c: ./low.incl:65:38: warning: unused variable 't1' [-Wunused-variable]
dh.c:    65 |         __m128i m1, m0, m2, m3, m4, m5, t0, t1;
dh.c:       |                                             ^~
dh.c: ./low.incl:153:14: warning: unused variable 't1' [-Wunused-variable]
dh.c:   153 |         __m128i t0, t1, sq, mask;
dh.c:       |                     ^~
dh.c: ./low.incl:271:7: warning: unused variable 'uu' [-Wunused-variable]
dh.c:   271 |         ui64 uu[2], vv[2];
dh.c:       |              ^~
dh.c: ./low.incl:271:14: warning: unused variable 'vv' [-Wunused-variable]
dh.c:   271 |         ui64 uu[2], vv[2];
dh.c:       |                     ^~
dh.c: In file included from dh.c:9:
dh.c: ./scmul.incl:168:38: warning: unused variable 'c' [-Wunused-variable]
dh.c:   168 |         ui64 r, carry, shift, mask, *c;
dh.c:       |                                      ^
dh.c: ./scmul.incl:189:13: warning: unused variable 't0' [-Wunused-variable]
dh.c:   189 |         i64 t0, mask;
dh.c:       |             ^~
dh.c: ./scmul.incl:191:13: warning: unused variable 'efe' [-Wunused-variable]
dh.c:   191 |         i64 efe=(ui64)(-1), zero = 0x0, one = 0x1;
dh.c:       |             ^~~
dh.c: ./scmul.incl:191:29: warning: unused variable 'zero' [-Wunused-variable]
dh.c:   191 |         i64 efe=(ui64)(-1), zero = 0x0, one = 0x1;
dh.c: ...

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

Compiler output


dh.c: In file included from dh.c:7:
dh.c: low.incl: In function 'low_mul_nr254':
dh.c: low.incl:65:45: warning: unused variable 't1' [-Wunused-variable]
dh.c:    65 |         __m128i m1, m0, m2, m3, m4, m5, t0, t1;
dh.c:       |                                             ^~
dh.c: low.incl: In function 'low_sq_nr254':
dh.c: low.incl:153:21: warning: unused variable 't1' [-Wunused-variable]
dh.c:   153 |         __m128i t0, t1, sq, mask;
dh.c:       |                     ^~
dh.c: low.incl: In function 'low_sqrt254':
dh.c: low.incl:271:21: warning: unused variable 'vv' [-Wunused-variable]
dh.c:   271 |         ui64 uu[2], vv[2];
dh.c:       |                     ^~
dh.c: low.incl:271:14: warning: unused variable 'uu' [-Wunused-variable]
dh.c:   271 |         ui64 uu[2], vv[2];
dh.c:       |              ^~
dh.c: In file included from dh.c:9:
dh.c: scmul.incl: In function 'bn_rsh':
dh.c: scmul.incl:168:38: warning: unused variable 'c' [-Wunused-variable]
dh.c:   168 |         ui64 r, carry, shift, mask, *c;
dh.c:       |                                      ^
dh.c: scmul.incl: In function 'scmul_wreg':
dh.c: scmul.incl:191:41: warning: unused variable 'one' [-Wunused-variable]
dh.c:   191 |         i64 efe=(ui64)(-1), zero = 0x0, one = 0x1;
dh.c:       |                                         ^~~
dh.c: ...

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

Compiler output


dh.c: In file included from dh.c:7:
dh.c: ./low.incl:65:38: warning: unused variable 't1' [-Wunused-variable]
dh.c:    65 |         __m128i m1, m0, m2, m3, m4, m5, t0, t1;
dh.c:       |                                             ^~
dh.c: ./low.incl:153:14: warning: unused variable 't1' [-Wunused-variable]
dh.c:   153 |         __m128i t0, t1, sq, mask;
dh.c:       |                     ^~
dh.c: ./low.incl:271:7: warning: unused variable 'uu' [-Wunused-variable]
dh.c:   271 |         ui64 uu[2], vv[2];
dh.c:       |              ^~
dh.c: ./low.incl:271:14: warning: unused variable 'vv' [-Wunused-variable]
dh.c:   271 |         ui64 uu[2], vv[2];
dh.c:       |                     ^~
dh.c: In file included from dh.c:9:
dh.c: ./scmul.incl:204:14: warning: & has lower precedence than ==; == will be evaluated first [-Wparentheses]
dh.c:   204 |                 if (num[0] & 0x1 == 1) {
dh.c:       |                            ^~~~~~~~~~
dh.c: ./scmul.incl:204:14: note: place parentheses around the '==' expression to silence this warning
dh.c:   204 |                 if (num[0] & 0x1 == 1) {
dh.c:       |                            ^
dh.c:       |                              (       )
dh.c: ./scmul.incl:204:14: note: place parentheses around the & expression to evaluate it first
dh.c:   204 |                 if (num[0] & 0x1 == 1) {
dh.c:       |                            ^
dh.c:       |                     (           )
dh.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


dh.c: In file included from dh.c:7:
dh.c: low.incl: In function 'low_mul_nr254':
dh.c: low.incl:65:45: warning: unused variable 't1' [-Wunused-variable]
dh.c:    65 |         __m128i m1, m0, m2, m3, m4, m5, t0, t1;
dh.c:       |                                             ^~
dh.c: low.incl: In function 'low_sq_nr254':
dh.c: low.incl:153:21: warning: unused variable 't1' [-Wunused-variable]
dh.c:   153 |         __m128i t0, t1, sq, mask;
dh.c:       |                     ^~
dh.c: low.incl: In function 'low_sqrt254':
dh.c: low.incl:271:21: warning: unused variable 'vv' [-Wunused-variable]
dh.c:   271 |         ui64 uu[2], vv[2];
dh.c:       |                     ^~
dh.c: low.incl:271:14: warning: unused variable 'uu' [-Wunused-variable]
dh.c:   271 |         ui64 uu[2], vv[2];
dh.c:       |              ^~
dh.c: In file included from dh.c:9:
dh.c: scmul.incl: In function 'scmul_4wnafend':
dh.c: scmul.incl:204:28: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses]
dh.c:   204 |                 if (num[0] & 0x1 == 1) {
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 eca_add_add_dbl T
dh.o eca_add_dbl T
dh.o eca_add_ful T
dh.o eca_add_mix T
dh.o eca_add_mma T
dh.o eca_add_sub_dbl T
dh.o eca_dbl_ful T
dh.o low_inv T
dh.o low_inv_bas T
dh.o low_msq_015 T
dh.o low_msq_030 T
dh.o low_msq_063 T
dh.o low_mul T
dh.o low_mul_00u T
dh.o low_mul_01u T
dh.o low_mul_27u T
dh.o low_mul_bas T
dh.o low_mul_fq1 T
dh.o low_sqr T
dh.o low_sqr_003_bas T
dh.o low_sqr_006_bas T
dh.o low_sqr_bas T
dh.o mtx_msq_015_000 D
dh.o mtx_msq_015_001 D
dh.o mtx_msq_015_002 D
dh.o mtx_msq_015_003 D
dh.o mtx_msq_015_004 D
dh.o mtx_msq_015_005 D
dh.o mtx_msq_015_006 D
dh.o mtx_msq_015_007 D
dh.o mtx_msq_015_008 D
dh.o mtx_msq_015_009 D
dh.o mtx_msq_015_010 D
dh.o mtx_msq_015_011 D
dh.o mtx_msq_015_012 D
dh.o mtx_msq_015_013 D
dh.o mtx_msq_015_014 D
dh.o mtx_msq_015_015 D
dh.o mtx_msq_030_000 D
dh.o mtx_msq_030_001 D
dh.o mtx_msq_030_002 D
dh.o mtx_msq_030_003 D
dh.o mtx_msq_030_004 D
dh.o mtx_msq_030_005 D
dh.o mtx_msq_030_006 D
dh.o mtx_msq_030_007 D
dh.o mtx_msq_030_008 D
dh.o mtx_msq_030_009 D
dh.o mtx_msq_030_010 D
dh.o mtx_msq_030_011 D
dh.o mtx_msq_030_012 D
dh.o mtx_msq_030_013 D
dh.o mtx_msq_030_014 D
dh.o mtx_msq_030_015 D
dh.o mtx_msq_063_000 D
dh.o mtx_msq_063_001 D
dh.o mtx_msq_063_002 D
dh.o mtx_msq_063_003 D
dh.o mtx_msq_063_004 D
dh.o mtx_msq_063_005 D
dh.o mtx_msq_063_006 D
dh.o mtx_msq_063_007 D
dh.o mtx_msq_063_008 D
dh.o mtx_msq_063_009 D
dh.o mtx_msq_063_010 D
dh.o mtx_msq_063_011 D
dh.o mtx_msq_063_012 D
dh.o mtx_msq_063_013 D
dh.o mtx_msq_063_014 D
dh.o mtx_msq_063_015 D
dh.o smu_5nf_dna_ltr T
dh.o smu_pre_5nf T
dh.o smu_reg_rec T

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

Namespace violations


dh.o AESenc T
dh.o AESkeyExp T
dh.o curves_domParam T
dh.o ec_add_full_lambda T
dh.o ec_add_mix_lambda_opt T
dh.o ec_doub_lambda T
dh.o ec_halv_opt T
dh.o gen253 T
dh.o low_htr T
dh.o low_htr254 T
dh.o low_inv T
dh.o low_inv254 T
dh.o low_mul T
dh.o low_mul254 T
dh.o low_mul_a T
dh.o low_mul_a_2 T
dh.o low_mul_aplus1 T
dh.o low_mul_nr254 T
dh.o low_sq T
dh.o low_sq254 T
dh.o low_sq_nr254 T
dh.o low_sqi T
dh.o low_sqr06 T
dh.o low_sqr12 T
dh.o low_sqr24 T
dh.o low_sqr48 T
dh.o low_sqrt254 T
dh.o scmul_4wnafend T
dh.o scmul_cvhalv_end T
dh.o scmul_direct_coding_doub T
dh.o scmul_end_halv_direct T
dh.o tbl4NAF D

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