Test results for amd64, speed2supercop, crypto_encrypt/3hfe

[Page version: 20241023 21:37:24]

Measurements for amd64, speed2supercop, crypto_encrypt Test results for amd64, speed2supercop, crypto_encrypt Test results for crypto_encrypt/3hfe
Computer: speed2supercop
Microarchitecture: amd64; Haswell+AES (306c3)
Architecture: amd64
CPU ID: GenuineIntel-000306c3-1fc9cbf5
SUPERCOP version: 20241022
Operation: crypto_encrypt
Primitive: 3hfe

Test failure


error 111
crypto_encrypt_open returns nonzero

Number of similar (implementation,compiler) pairs: 2, namely:
ImplementationCompiler
T:refg++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0)
T:refg++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0)

Test failure


error 111
crypto_encrypt_open is nondeterministic

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:refg++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0)

Test failure


error 111

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

Compiler output


HFE-test.cpp: In file included from HFE-test.cpp:18:
HFE-test.cpp: In file included from ./HFE.h:6:
HFE-test.cpp: ./tower.h:364:9: error: argument to '__builtin_ia32_palignr128' must be a constant integer
HFE-test.cpp:         return _mm_alignr_epi8(a1, a0, i*2);
HFE-test.cpp:                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
HFE-test.cpp: /usr/lib/llvm-16/lib/clang/16/include/tmmintrin.h:152:13: note: expanded from macro '_mm_alignr_epi8'
HFE-test.cpp:   ((__m128i)__builtin_ia32_palignr128((__v16qi)(__m128i)(a), \
HFE-test.cpp:             ^
HFE-test.cpp: In file included from HFE-test.cpp:18:
HFE-test.cpp: In file included from ./HFE.h:7:
HFE-test.cpp: In file included from ./groebner.h:12:
HFE-test.cpp: ./polynomial.h:66:7: warning: explicitly assigning value of variable of type 'T' to itself [-Wself-assign-overloaded]
HFE-test.cpp:                 ret -= ret;
HFE-test.cpp:                 ~~~ ^  ~~~
HFE-test.cpp: In file included from HFE-test.cpp:18:
HFE-test.cpp: In file included from ./HFE.h:7:
HFE-test.cpp: ./groebner.h:291:14: warning: unused variable 'y3' [-Wunused-variable]
HFE-test.cpp:         monomial<4> y3 = monomial<4>(48);
HFE-test.cpp:                     ^
HFE-test.cpp: In file included from HFE-test.cpp:18:
HFE-test.cpp: In file included from ./HFE.h:9:
HFE-test.cpp: In file included from ./bqas.h:79:
HFE-test.cpp: ./transpose8.h:38:2: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
HFE-test.cpp:         register __m128i a=s[0],b=s[1],c=s[2],d=s[3],e=s[4],f=s[5],g=s[6],h=s[7];
HFE-test.cpp:         ^~~~~~~~~
HFE-test.cpp: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:refclang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:refclang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:refclang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:refclang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall

Compiler output


HFE-test.cpp: In file included from tower.h:4,
HFE-test.cpp:                  from HFE.h:6,
HFE-test.cpp:                  from HFE-test.cpp:18:
HFE-test.cpp: gf.h:14:21: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
HFE-test.cpp:    14 |         inline gf<p>(){}
HFE-test.cpp:       |                     ^
HFE-test.cpp: gf.h:14:21: note: remove the '< >'
HFE-test.cpp: gf.h:15:21: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
HFE-test.cpp:    15 |         inline gf<p>(const gf<p>& a):v(a.v){}
HFE-test.cpp:       |                     ^
HFE-test.cpp: gf.h:15:21: note: remove the '< >'
HFE-test.cpp: gf.h:16:21: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
HFE-test.cpp:    16 |         inline gf<p>(const short &a):v(a){}
HFE-test.cpp:       |                     ^
HFE-test.cpp: gf.h:16:21: note: remove the '< >'
HFE-test.cpp: In file included from tower.h:5:
HFE-test.cpp: gfv.h:10:22: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
HFE-test.cpp:    10 |         inline gfv<p>(){}
HFE-test.cpp:       |                      ^
HFE-test.cpp: gfv.h:10:22: note: remove the '< >'
HFE-test.cpp: gfv.h:11:22: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
HFE-test.cpp:    11 |         inline gfv<p>(const gfv<p>& a):v(a.v){}
HFE-test.cpp:       |                      ^
HFE-test.cpp: gfv.h:11:22: note: remove the '< >'
HFE-test.cpp: gfv.h:12:22: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
HFE-test.cpp: ...
useshort.cpp: useshort.cpp: In function 'int crypto_encrypt_3hfe_ref_timingleaks_open(unsigned char*, long long unsigned int*, const unsigned char*, long long unsigned int, const unsigned char*)':
useshort.cpp: useshort.cpp:77:18: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
useshort.cpp:    77 |     for (i = 0;i < hlen;++i) m[i] = h[i];
useshort.cpp:       |                ~~^~~~~~
useshort.cpp: useshort.cpp:83:31: warning: comparison of integer expressions of different signedness: 'int' and 'const long long unsigned int' [-Wsign-compare]
useshort.cpp:    83 |   for (i = ENCRYPTION_BYTES;i < clen;++i)
useshort.cpp:       |                             ~~^~~~~~

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:refg++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0)
T:refg++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0)
T:refg++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0)
T:refg++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0)