Implementation notes: amd64, hertz, crypto_dh/gls254

Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240808
Operation: crypto_dh
Primitive: gls254
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
11938841142 196608 075457 197460 1832T:optclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024080920240808
11979441142 196608 075345 197460 1832T:optclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024080920240808
13252820858 196608 048995 197452 1832T:optclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024080920240808
14697720545 196608 050620 197436 1896T:optgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024080920240808
152361130160 16 0164264 876 1832T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024080920240808
15556019233 196608 047300 197436 1832T:optgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024080920240808
156513132176 16 0166264 876 1832T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024080920240808
170851113332 16 0141506 868 1832T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024080920240808
17446017382 196608 044092 197428 1800T:optgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024080920240808
17524213793 98336 042211 99172 1832T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024080920240808
17657426305 98336 056739 99172 1896T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024080920240808

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)