Test results for amd64, hertz, crypto_sign/rainbowbinary16242020

[Page version: 20250926 22:06:17]

Measurements for amd64, hertz, crypto_sign Test results for amd64, hertz, crypto_sign Test results for crypto_sign/rainbowbinary16242020
Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20250922
Operation: crypto_sign
Primitive: rainbowbinary16242020
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
4175352786 168 881066 1076 1832T:refclang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2025092520250922
4204359232 168 885490 1076 1832T:refclang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2025092520250922
4933932646 112 823257703 980 10184T:refg++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025092520250922
6478731016 112 823254135 980 10184T:refg++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025092520250922
6557338309 168 861481 1068 1832T:refclang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall2025092520250922
18695827751 112 823249491 980 10088T:refg++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2025092520250922

Compiler output


rainbow-test.cpp: In file included from rainbow-test.cpp:1:
rainbow-test.cpp: ./gf.h:171:46: warning: while loop has empty body [-Wempty-body]
rainbow-test.cpp:   171 |                 if( M==n_read ) { while( ttt.set(fp)==16 ) ; break; }
rainbow-test.cpp:       |                                                            ^
rainbow-test.cpp: ./gf.h:171:46: note: put the semicolon on a separate line to silence this warning
rainbow-test.cpp: rainbow-test.cpp:57:10: warning: first argument in call to 'memcpy' is a pointer to non-trivially copyable type 'gfv<16, 40>' [-Wnontrivial-memcall]
rainbow-test.cpp:    57 |         memcpy( &y , h , M );
rainbow-test.cpp:       |                 ^
rainbow-test.cpp: rainbow-test.cpp:57:10: note: explicitly cast the pointer to silence this warning
rainbow-test.cpp:    57 |         memcpy( &y , h , M );
rainbow-test.cpp:       |                 ^
rainbow-test.cpp:       |                 (void*)
rainbow-test.cpp: rainbow-test.cpp:89:10: warning: first argument in call to 'memcpy' is a pointer to non-trivially copyable type 'gfv<16, 64>' [-Wnontrivial-memcall]
rainbow-test.cpp:    89 |         memcpy( &x , h ,N );
rainbow-test.cpp:       |                 ^
rainbow-test.cpp: rainbow-test.cpp:89:10: note: explicitly cast the pointer to silence this warning
rainbow-test.cpp:    89 |         memcpy( &x , h ,N );
rainbow-test.cpp:       |                 ^
rainbow-test.cpp:       |                 (void*)
rainbow-test.cpp: In file included from rainbow-test.cpp:3:
rainbow-test.cpp: In file included from ./rainbow.h:5:
rainbow-test.cpp: ./MQPKC.h:40:88: warning: first argument in call to 'memcpy' is a pointer to non-trivially copyable type 'gfv<16U, 40U>' [-Wnontrivial-memcall]
rainbow-test.cpp:    40 |         virtual void qmap( gfv<GF,M> & y , const byte *, const gfv<GF,N> & x ) const { memcpy(&y,&x,(N>M)?sizeof(gfv<GF,M>):sizeof(gfv<GF,N>)); }
rainbow-test.cpp:       |                                                                                               ^
rainbow-test.cpp: ./MQPKC.h:49:2: note: in instantiation of member function 'MQPKC<16, 64, 40, 0>::qmap' requested here
rainbow-test.cpp: ...

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:refclang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_20.1.8_(0ubuntu4))
T:refclang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_20.1.8_(0ubuntu4))
T:refclang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_20.1.8_(0ubuntu4))

Compiler output


rainbow-test.cpp: In file included from rainbow-test.cpp:1:
rainbow-test.cpp: gf.h:25:21: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
rainbow-test.cpp:    25 |         inline gf<p>() {}
rainbow-test.cpp:       |                     ^
rainbow-test.cpp: gf.h:25:21: note: remove the '< >'
rainbow-test.cpp: gf.h:26:21: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
rainbow-test.cpp:    26 |         inline gf<p>(const gf<p>& a):v(a.v){}
rainbow-test.cpp:       |                     ^
rainbow-test.cpp: gf.h:26:21: note: remove the '< >'
rainbow-test.cpp: gf.h:27:21: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
rainbow-test.cpp:    27 |         inline gf<p>(const byte &a):v(a){}
rainbow-test.cpp:       |                     ^
rainbow-test.cpp: gf.h:27:21: note: remove the '< >'
rainbow-test.cpp: gf.h:63:27: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
rainbow-test.cpp:    63 |         inline gfv_unit<p>(){}
rainbow-test.cpp:       |                           ^
rainbow-test.cpp: gf.h:63:27: note: remove the '< >'
rainbow-test.cpp: gf.h:64:27: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
rainbow-test.cpp:    64 |         inline gfv_unit<p>(const gfv_unit<p>& a):v(a.v){}
rainbow-test.cpp:       |                           ^
rainbow-test.cpp: gf.h:64:27: note: remove the '< >'
rainbow-test.cpp: gf.h:65:27: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
rainbow-test.cpp:    65 |         inline gfv_unit<p>(const __m128i& a):v(a){}
rainbow-test.cpp:       |                           ^
rainbow-test.cpp: gf.h:65:27: note: remove the '< >'
rainbow-test.cpp: ...
usehash.cpp: usehash.cpp: In function 'int crypto_sign_rainbowbinary16242020_ref_timingleaks(unsigned char*, long long unsigned int*, const unsigned char*, long long unsigned int, const unsigned char*)':
usehash.cpp: usehash.cpp:39:16: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
usehash.cpp:    39 |   for (i = 0;i < mlen;++i) {
usehash.cpp:       |              ~~^~~~~~
usehash.cpp: usehash.cpp: In function 'int crypto_sign_rainbowbinary16242020_ref_timingleaks_open(unsigned char*, long long unsigned int*, const unsigned char*, long long unsigned int, const unsigned char*)':
usehash.cpp: usehash.cpp:59:30: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
usehash.cpp:    59 |   for (i = SIGNATURE_BYTES;i < smlen;++i) m[i - SIGNATURE_BYTES] = sm[i];
usehash.cpp:       |                            ~~^~~~~~~

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