Implementation notes: amd64, hertz, crypto_dh/hecfp64e2i

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

Test failure


error 111
crypto_dh_keypair writes after output

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

Test failure


error 111
crypto_dh is nondeterministic

Number of similar (implementation,compiler) pairs: 36, namely:
ImplementationCompiler
T:v01/w8s01clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s01clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s01clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s01gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s01gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s01gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s02clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s02clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s02clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s02gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s02gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s02gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s04clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s04clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s04clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s04gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s04gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s04gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s08clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s08clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s08clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s08gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s08gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s08gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s16clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s16clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s16clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s16gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s16gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s16gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s32clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s32clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s32clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s32gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s32gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s32gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Compiler output


divisor.c: divisor.c:14:52: warning: argument 1 of type 'DIV_hec_fp_2e064mce2' {aka 'struct <anonymous> *'} declared as a pointer [-Warray-parameter=]
divisor.c:    14 | void hec_fp_cpy_2e064mce2_g2i(DIV_hec_fp_2e064mce2 D3, DIV_hec_fp_2e064mce2 D1, CNS_hec_fp_2e064mce2 cn){
divisor.c:       |                               ~~~~~~~~~~~~~~~~~~~~~^~
divisor.c: In file included from divisor.c:12:
divisor.c: finite128.h:743:54: note: previously declared as an array 'struct <anonymous>[1]'
divisor.c:   743 | void hec_fp_cpy_2e064mce2_g2i(DIV_hec_fp_2e064mce2_t D3, DIV_hec_fp_2e064mce2_t d1, CNS_hec_fp_2e064mce2 cn);
divisor.c:       |                               ~~~~~~~~~~~~~~~~~~~~~~~^~
divisor.c: divisor.c:14:77: warning: argument 2 of type 'DIV_hec_fp_2e064mce2' {aka 'struct <anonymous> *'} declared as a pointer [-Warray-parameter=]
divisor.c:    14 | void hec_fp_cpy_2e064mce2_g2i(DIV_hec_fp_2e064mce2 D3, DIV_hec_fp_2e064mce2 D1, CNS_hec_fp_2e064mce2 cn){
divisor.c:       |                                                        ~~~~~~~~~~~~~~~~~~~~~^~
divisor.c: finite128.h:743:81: note: previously declared as an array 'struct <anonymous>[1]'
divisor.c:   743 | void hec_fp_cpy_2e064mce2_g2i(DIV_hec_fp_2e064mce2_t D3, DIV_hec_fp_2e064mce2_t d1, CNS_hec_fp_2e064mce2 cn);
divisor.c:       |                                                          ~~~~~~~~~~~~~~~~~~~~~~~^~
divisor.c: divisor.c:22:52: warning: argument 1 of type 'DIV_hec_fp_2e064mce2' {aka 'struct <anonymous> *'} declared as a pointer [-Warray-parameter=]
divisor.c:    22 | void hec_fp_neg_2e064mce2_g2i(DIV_hec_fp_2e064mce2 D3, DIV_hec_fp_2e064mce2 D1, CNS_hec_fp_2e064mce2 cn){
divisor.c:       |                               ~~~~~~~~~~~~~~~~~~~~~^~
divisor.c: finite128.h:744:54: note: previously declared as an array 'struct <anonymous>[1]'
divisor.c:   744 | void hec_fp_neg_2e064mce2_g2i(DIV_hec_fp_2e064mce2_t D3, DIV_hec_fp_2e064mce2_t d1, CNS_hec_fp_2e064mce2 cn);
divisor.c:       |                               ~~~~~~~~~~~~~~~~~~~~~~~^~
divisor.c: divisor.c:22:77: warning: argument 2 of type 'DIV_hec_fp_2e064mce2' {aka 'struct <anonymous> *'} declared as a pointer [-Warray-parameter=]
divisor.c:    22 | void hec_fp_neg_2e064mce2_g2i(DIV_hec_fp_2e064mce2 D3, DIV_hec_fp_2e064mce2 D1, CNS_hec_fp_2e064mce2 cn){
divisor.c:       |                                                        ~~~~~~~~~~~~~~~~~~~~~^~
divisor.c: finite128.h:744:81: note: previously declared as an array 'struct <anonymous>[1]'
divisor.c:   744 | void hec_fp_neg_2e064mce2_g2i(DIV_hec_fp_2e064mce2_t D3, DIV_hec_fp_2e064mce2_t d1, CNS_hec_fp_2e064mce2 cn);
divisor.c:       |                                                          ~~~~~~~~~~~~~~~~~~~~~~~^~

Number of similar (implementation,compiler) pairs: 21, namely:
ImplementationCompiler
T:v01/vargcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/vargcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/vargcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s01gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s01gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s01gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s02gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s02gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s02gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s04gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s04gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s04gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s08gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s08gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s08gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s16gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s16gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s16gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s32gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s32gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:v01/w8s32gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Compiler output


io.c: io.c:352:14: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
io.c:   352 |                 if((buf[i] == -1)){
io.c:       |                     ~~~~~~~^~~~~
io.c: io.c:352:14: note: remove extraneous parentheses around the comparison to silence this warning
io.c:   352 |                 if((buf[i] == -1)){
io.c:       |                    ~       ^    ~
io.c: io.c:352:14: note: use '=' to turn this equality comparison into an assignment
io.c:   352 |                 if((buf[i] == -1)){
io.c:       |                            ^~
io.c:       |                            =
io.c: io.c:379:14: warning: equality comparison with extraneous parentheses [-Wparentheses-equality]
io.c:   379 |                 if((buf[i] == -1)){
io.c:       |                     ~~~~~~~^~~~~
io.c: io.c:379:14: note: remove extraneous parentheses around the comparison to silence this warning
io.c:   379 |                 if((buf[i] == -1)){
io.c:       |                    ~       ^    ~
io.c: io.c:379:14: note: use '=' to turn this equality comparison into an assignment
io.c:   379 |                 if((buf[i] == -1)){
io.c:       |                            ^~
io.c:       |                            =
io.c: 2 warnings generated.

Number of similar (implementation,compiler) pairs: 18, namely:
ImplementationCompiler
T:v01/w8s01clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s01clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s01clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s02clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s02clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s02clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s04clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s04clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s04clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s08clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s08clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s08clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s16clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s16clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s16clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s32clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s32clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:v01/w8s32clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))