Test results for amd64, hertz, crypto_sign/dilithium2
[Page version: 20260219 16:18:58]
Measurements for amd64, hertz, crypto_sign
Test results for amd64, hertz, crypto_sign
Test results for crypto_sign/dilithium2
Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20260217
Operation: crypto_sign
Primitive: dilithium2
| Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 271058 | 100486 64 0 | 140650 1344 2416 | avx2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260218 | 20260217 |
| 271350 | 95607 64 0 | 134298 1344 2416 | avx2 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260218 | 20260217 |
| 285874 | 68339 64 0 | 101348 1336 2416 | avx2 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260218 | 20260217 |
| 287737 | 88474 64 0 | 125605 1312 2512 | avx2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260218 | 20260217 |
| 288675 | 65767 64 0 | 99525 1312 2512 | avx2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260218 | 20260217 |
| 294022 | 59233 64 0 | 91165 1304 2416 | avx2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260218 | 20260217 |
| 1294874 | 56751 0 0 | 96834 1272 2416 | ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260218 | 20260217 |
| 1367549 | 44373 0 0 | 81397 1240 2512 | ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260218 | 20260217 |
| 1377174 | 19720 0 0 | 53252 1264 2416 | ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260218 | 20260217 |
| 1440988 | 51154 0 0 | 89722 1272 2416 | ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20260218 | 20260217 |
| 1548662 | 22532 0 0 | 56285 1240 2512 | ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260218 | 20260217 |
| 1630649 | 18789 0 0 | 50613 1232 2416 | ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20260218 | 20260217 |
Compiler output
rejsample.c: rejsample.c:316:62: warning: argument 'buf' of type 'const uint8_t[168]' (aka 'const unsigned char[168]') with mismatched bound [-Warray-parameter]
rejsample.c: 316 | unsigned int rej_eta_avx(int32_t * restrict r, const uint8_t buf[REJ_UNIFORM_ETA_BUFLEN]) {
rejsample.c: | ^
rejsample.c: ./rejsample.h:25:52: note: previously declared as 'const uint8_t[840]' (aka 'const unsigned char[840]') here
rejsample.c: 25 | unsigned int rej_eta_avx(int32_t *r, const uint8_t buf[REJ_UNIFORM_BUFLEN]);
rejsample.c: | ^
rejsample.c: 1 warning generated.
Number of similar (implementation,compiler) pairs: 3, namely:
| Implementation | Compiler |
| avx2 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_21.1.8_(1ubuntu1)) |
| avx2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_21.1.8_(1ubuntu1)) |
| avx2 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_21.1.8_(1ubuntu1)) |
Compiler output
poly.c: poly.c: In function 'crypto_sign_dilithium2_avx2_constbranchindex_poly_uniform_eta_4x':
poly.c: <command-line>: warning: 'crypto_sign_dilithium2_avx2_constbranchindex_rej_eta_avx' reading 840 bytes from a region of size 768 [-Wstringop-overread]
poly.c: config.h:3:32: note: in expansion of macro 'CRYPTO_NAMESPACE'
poly.c: 3 | #define DILITHIUM_NAMESPACE(s) CRYPTO_NAMESPACE(s)
poly.c: | ^~~~~~~~~~~~~~~~
poly.c: rejsample.h:24:21: note: in expansion of macro 'DILITHIUM_NAMESPACE'
poly.c: 24 | #define rej_eta_avx DILITHIUM_NAMESPACE(rej_eta_avx)
poly.c: | ^~~~~~~~~~~~~~~~~~~
poly.c: poly.c:598:10: note: in expansion of macro 'rej_eta_avx'
poly.c: 598 | ctr0 = rej_eta_avx(a0->coeffs, buf[0].coeffs);
poly.c: | ^~~~~~~~~~~
poly.c: <command-line>: note: referencing argument 2 of type 'const uint8_t[840]' {aka 'const unsigned char[840]'}
poly.c: config.h:3:32: note: in expansion of macro 'CRYPTO_NAMESPACE'
poly.c: 3 | #define DILITHIUM_NAMESPACE(s) CRYPTO_NAMESPACE(s)
poly.c: | ^~~~~~~~~~~~~~~~
poly.c: rejsample.h:24:21: note: in expansion of macro 'DILITHIUM_NAMESPACE'
poly.c: 24 | #define rej_eta_avx DILITHIUM_NAMESPACE(rej_eta_avx)
poly.c: | ^~~~~~~~~~~~~~~~~~~
poly.c: poly.c:598:10: note: in expansion of macro 'rej_eta_avx'
poly.c: 598 | ctr0 = rej_eta_avx(a0->coeffs, buf[0].coeffs);
poly.c: | ^~~~~~~~~~~
poly.c: <command-line>: note: in a call to function 'crypto_sign_dilithium2_avx2_constbranchindex_rej_eta_avx'
poly.c: config.h:3:32: note: in expansion of macro 'CRYPTO_NAMESPACE'
poly.c: 3 | #define DILITHIUM_NAMESPACE(s) CRYPTO_NAMESPACE(s)
poly.c: | ^~~~~~~~~~~~~~~~
poly.c: ...
polyvec.c: polyvec.c: In function 'crypto_sign_dilithium2_avx2_constbranchindex_polyvecl_uniform_gamma1':
polyvec.c: <command-line>: warning: 'crypto_sign_dilithium2_avx2_constbranchindex_poly_uniform_gamma1' reading 48 bytes from a region of size 32 [-Wstringop-overread]
polyvec.c: config.h:3:32: note: in expansion of macro 'CRYPTO_NAMESPACE'
polyvec.c: 3 | #define DILITHIUM_NAMESPACE(s) CRYPTO_NAMESPACE(s)
polyvec.c: | ^~~~~~~~~~~~~~~~
polyvec.c: poly.h:55:29: note: in expansion of macro 'DILITHIUM_NAMESPACE'
polyvec.c: 55 | #define poly_uniform_gamma1 DILITHIUM_NAMESPACE(poly_uniform_gamma1)
polyvec.c: | ^~~~~~~~~~~~~~~~~~~
polyvec.c: polyvec.c:279:5: note: in expansion of macro 'poly_uniform_gamma1'
polyvec.c: 279 | poly_uniform_gamma1(&v->vec[i], seed, L*nonce + i);
polyvec.c: | ^~~~~~~~~~~~~~~~~~~
polyvec.c: <command-line>: note: referencing argument 2 of type 'const uint8_t[48]' {aka 'const unsigned char[48]'}
polyvec.c: config.h:3:32: note: in expansion of macro 'CRYPTO_NAMESPACE'
polyvec.c: 3 | #define DILITHIUM_NAMESPACE(s) CRYPTO_NAMESPACE(s)
polyvec.c: | ^~~~~~~~~~~~~~~~
polyvec.c: poly.h:55:29: note: in expansion of macro 'DILITHIUM_NAMESPACE'
polyvec.c: 55 | #define poly_uniform_gamma1 DILITHIUM_NAMESPACE(poly_uniform_gamma1)
polyvec.c: | ^~~~~~~~~~~~~~~~~~~
polyvec.c: polyvec.c:279:5: note: in expansion of macro 'poly_uniform_gamma1'
polyvec.c: 279 | poly_uniform_gamma1(&v->vec[i], seed, L*nonce + i);
polyvec.c: | ^~~~~~~~~~~~~~~~~~~
polyvec.c: <command-line>: note: in a call to function 'crypto_sign_dilithium2_avx2_constbranchindex_poly_uniform_gamma1'
polyvec.c: config.h:3:32: note: in expansion of macro 'CRYPTO_NAMESPACE'
polyvec.c: 3 | #define DILITHIUM_NAMESPACE(s) CRYPTO_NAMESPACE(s)
polyvec.c: | ^~~~~~~~~~~~~~~~
polyvec.c: ...
rejsample.c: rejsample.c:316:62: warning: argument 2 of type 'const uint8_t[168]' {aka 'const unsigned char[168]'} with mismatched bound [-Warray-parameter=]
rejsample.c: 316 | unsigned int rej_eta_avx(int32_t * restrict r, const uint8_t buf[REJ_UNIFORM_ETA_BUFLEN]) {
rejsample.c: | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
rejsample.c: In file included from rejsample.c:4:
rejsample.c: rejsample.h:25:52: note: previously declared as 'const uint8_t[840]' {aka 'const unsigned char[840]'}
rejsample.c: 25 | unsigned int rej_eta_avx(int32_t *r, const uint8_t buf[REJ_UNIFORM_BUFLEN]);
rejsample.c: | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
Number of similar (implementation,compiler) pairs: 3, namely:
| Implementation | Compiler |
| avx2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (15.2.0) |
| avx2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (15.2.0) |
| avx2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (15.2.0) |
Compiler output
polyvec.c: polyvec.c: In function 'crypto_sign_dilithium2_ref_constbranchindex_polyvecl_uniform_gamma1':
polyvec.c: <command-line>: warning: 'crypto_sign_dilithium2_ref_constbranchindex_poly_uniform_gamma1' reading 48 bytes from a region of size 32 [-Wstringop-overread]
polyvec.c: config.h:3:32: note: in expansion of macro 'CRYPTO_NAMESPACE'
polyvec.c: 3 | #define DILITHIUM_NAMESPACE(s) CRYPTO_NAMESPACE(s)
polyvec.c: | ^~~~~~~~~~~~~~~~
polyvec.c: poly.h:51:29: note: in expansion of macro 'DILITHIUM_NAMESPACE'
polyvec.c: 51 | #define poly_uniform_gamma1 DILITHIUM_NAMESPACE(poly_uniform_gamma1)
polyvec.c: | ^~~~~~~~~~~~~~~~~~~
polyvec.c: polyvec.c:47:5: note: in expansion of macro 'poly_uniform_gamma1'
polyvec.c: 47 | poly_uniform_gamma1(&v->vec[i], seed, L*nonce + i);
polyvec.c: | ^~~~~~~~~~~~~~~~~~~
polyvec.c: <command-line>: note: referencing argument 2 of type 'const uint8_t[48]' {aka 'const unsigned char[48]'}
polyvec.c: config.h:3:32: note: in expansion of macro 'CRYPTO_NAMESPACE'
polyvec.c: 3 | #define DILITHIUM_NAMESPACE(s) CRYPTO_NAMESPACE(s)
polyvec.c: | ^~~~~~~~~~~~~~~~
polyvec.c: poly.h:51:29: note: in expansion of macro 'DILITHIUM_NAMESPACE'
polyvec.c: 51 | #define poly_uniform_gamma1 DILITHIUM_NAMESPACE(poly_uniform_gamma1)
polyvec.c: | ^~~~~~~~~~~~~~~~~~~
polyvec.c: polyvec.c:47:5: note: in expansion of macro 'poly_uniform_gamma1'
polyvec.c: 47 | poly_uniform_gamma1(&v->vec[i], seed, L*nonce + i);
polyvec.c: | ^~~~~~~~~~~~~~~~~~~
polyvec.c: <command-line>: note: in a call to function 'crypto_sign_dilithium2_ref_constbranchindex_poly_uniform_gamma1'
polyvec.c: config.h:3:32: note: in expansion of macro 'CRYPTO_NAMESPACE'
polyvec.c: 3 | #define DILITHIUM_NAMESPACE(s) CRYPTO_NAMESPACE(s)
polyvec.c: | ^~~~~~~~~~~~~~~~
polyvec.c: ...
Number of similar (implementation,compiler) pairs: 3, namely:
| Implementation | Compiler |
| ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (15.2.0) |
| ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (15.2.0) |
| ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (15.2.0) |
TIMECOP error (can be valgrind bug)
error 132
Process terminating with default action of signal 4 (SIGILL)
Illegal opcode at address 0x401AF58
at 0x...: memset (string_fortified.h:59)
by 0x...: cpucycles_works (wrapper.c:50)
by 0x...: supercop_cpucycles_ticks_amd64_tsc_setup (amd64-tsc.c:28)
by 0x...: cpucycles_init (wrapper.c:308)
by 0x...: main (try-anything.c:330)
Illegal instruction (core dumped)
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| avx2 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_21.1.8_(1ubuntu1)) |
TIMECOP error (can be valgrind bug)
error 132
Process terminating with default action of signal 4 (SIGILL)
Illegal opcode at address 0x401C418
at 0x...: memset (string_fortified.h:59)
by 0x...: cpucycles_works (wrapper.c:50)
by 0x...: supercop_cpucycles_ticks_amd64_tsc_setup (amd64-tsc.c:28)
by 0x...: cpucycles_init (wrapper.c:308)
by 0x...: main (try-anything.c:330)
Illegal instruction (core dumped)
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| avx2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_21.1.8_(1ubuntu1)) |
TIMECOP error (can be valgrind bug)
error 132
Process terminating with default action of signal 4 (SIGILL)
Illegal opcode at address 0x4014158
at 0x...: memset (string_fortified.h:59)
by 0x...: cpucycles_works (wrapper.c:50)
by 0x...: supercop_cpucycles_ticks_amd64_tsc_setup (amd64-tsc.c:28)
by 0x...: cpucycles_init (wrapper.c:308)
by 0x...: main (try-anything.c:330)
Illegal instruction (core dumped)
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| avx2 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_21.1.8_(1ubuntu1)) |
TIMECOP error (can be valgrind bug)
error 132
Process terminating with default action of signal 4 (SIGILL)
Illegal opcode at address 0x40142D8
at 0x...: memset (string_fortified.h:59)
by 0x...: cpucycles_works (wrapper.c:50)
by 0x...: supercop_cpucycles_ticks_amd64_tsc_setup (amd64-tsc.c:28)
by 0x...: cpucycles_init (wrapper.c:308)
by 0x...: main (try-anything.c:330)
Illegal instruction (core dumped)
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| avx2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (15.2.0) |
TIMECOP error (can be valgrind bug)
error 132
Process terminating with default action of signal 4 (SIGILL)
Illegal opcode at address 0x4019E58
at 0x...: memset (string_fortified.h:59)
by 0x...: cpucycles_works (wrapper.c:50)
by 0x...: supercop_cpucycles_ticks_amd64_tsc_setup (amd64-tsc.c:28)
by 0x...: cpucycles_init (wrapper.c:308)
by 0x...: main (try-anything.c:330)
Illegal instruction (core dumped)
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| avx2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (15.2.0) |
TIMECOP error (can be valgrind bug)
error 132
Process terminating with default action of signal 4 (SIGILL)
Illegal opcode at address 0x40122D8
at 0x...: memset (string_fortified.h:59)
by 0x...: cpucycles_works (wrapper.c:50)
by 0x...: supercop_cpucycles_ticks_amd64_tsc_setup (amd64-tsc.c:28)
by 0x...: cpucycles_init (wrapper.c:308)
by 0x...: main (try-anything.c:330)
Illegal instruction (core dumped)
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| avx2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (15.2.0) |
TIMECOP error (can be valgrind bug)
error 132
Process terminating with default action of signal 4 (SIGILL)
Illegal opcode at address 0x4010ED8
at 0x...: memset (string_fortified.h:59)
by 0x...: cpucycles_works (wrapper.c:50)
by 0x...: supercop_cpucycles_ticks_amd64_tsc_setup (amd64-tsc.c:28)
by 0x...: cpucycles_init (wrapper.c:308)
by 0x...: main (try-anything.c:330)
Illegal instruction (core dumped)
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_21.1.8_(1ubuntu1)) |
TIMECOP error (can be valgrind bug)
error 132
Process terminating with default action of signal 4 (SIGILL)
Illegal opcode at address 0x40126D8
at 0x...: memset (string_fortified.h:59)
by 0x...: cpucycles_works (wrapper.c:50)
by 0x...: supercop_cpucycles_ticks_amd64_tsc_setup (amd64-tsc.c:28)
by 0x...: cpucycles_init (wrapper.c:308)
by 0x...: main (try-anything.c:330)
Illegal instruction (core dumped)
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_21.1.8_(1ubuntu1)) |
TIMECOP error (can be valgrind bug)
error 132
Process terminating with default action of signal 4 (SIGILL)
Illegal opcode at address 0x4009A58
at 0x...: memset (string_fortified.h:59)
by 0x...: cpucycles_works (wrapper.c:50)
by 0x...: supercop_cpucycles_ticks_amd64_tsc_setup (amd64-tsc.c:28)
by 0x...: cpucycles_init (wrapper.c:308)
by 0x...: main (try-anything.c:330)
Illegal instruction (core dumped)
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_21.1.8_(1ubuntu1)) |
TIMECOP error (can be valgrind bug)
error 132
Process terminating with default action of signal 4 (SIGILL)
Illegal opcode at address 0x400AAD8
at 0x...: memset (string_fortified.h:59)
by 0x...: cpucycles_works (wrapper.c:50)
by 0x...: supercop_cpucycles_ticks_amd64_tsc_setup (amd64-tsc.c:28)
by 0x...: cpucycles_init (wrapper.c:308)
by 0x...: main (try-anything.c:330)
Illegal instruction (core dumped)
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (15.2.0) |
TIMECOP error (can be valgrind bug)
error 132
Process terminating with default action of signal 4 (SIGILL)
Illegal opcode at address 0x40102D8
at 0x...: memset (string_fortified.h:59)
by 0x...: cpucycles_works (wrapper.c:50)
by 0x...: supercop_cpucycles_ticks_amd64_tsc_setup (amd64-tsc.c:28)
by 0x...: cpucycles_init (wrapper.c:308)
by 0x...: main (try-anything.c:330)
Illegal instruction (core dumped)
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (15.2.0) |
TIMECOP error (can be valgrind bug)
error 132
Process terminating with default action of signal 4 (SIGILL)
Illegal opcode at address 0x4009698
at 0x...: memset (string_fortified.h:59)
by 0x...: cpucycles_works (wrapper.c:50)
by 0x...: supercop_cpucycles_ticks_amd64_tsc_setup (amd64-tsc.c:28)
by 0x...: cpucycles_init (wrapper.c:308)
by 0x...: main (try-anything.c:330)
Illegal instruction (core dumped)
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler |
| ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (15.2.0) |