Test results for amd64, hertz, crypto_sign/dilithium5aes
[Page version: 20250310 13:41:42]
Measurements for amd64, hertz, crypto_sign
Test results for amd64, hertz, crypto_sign
Test results for crypto_sign/dilithium5aes
Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20250307
Operation: crypto_sign
Primitive: dilithium5aes
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
298260 | 91285 0 0 | 114601 844 1832 | avx2 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250308 | 20250307 |
305455 | 99332 0 0 | 122753 844 1832 | avx2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250308 | 20250307 |
317613 | 67216 0 0 | 86963 836 1832 | avx2 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250308 | 20250307 |
326719 | 85704 0 0 | 108308 820 1928 | avx2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250308 | 20250307 |
331054 | 50199 0 0 | 69324 812 1800 | avx2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250308 | 20250307 |
338356 | 55298 0 0 | 75964 820 1928 | avx2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250308 | 20250307 |
5104888 | 60648 0 0 | 83116 820 1928 | ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250308 | 20250307 |
5381260 | 27546 0 0 | 48228 820 1928 | ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250308 | 20250307 |
5420618 | 66606 0 0 | 89825 844 1832 | ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250308 | 20250307 |
5532391 | 24023 0 0 | 45091 836 1832 | ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250308 | 20250307 |
5737137 | 23618 0 0 | 42772 812 1800 | ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250308 | 20250307 |
6031155 | 76810 0 0 | 100225 844 1832 | ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250308 | 20250307 |
Compiler output
poly.c: poly.c:1055:52: warning: argument 'a' of type 'const uint8_t[652]' (aka 'const unsigned char[652]') with mismatched bound [-Warray-parameter]
poly.c: 1055 | void polyz_unpack(poly * restrict r, const uint8_t a[POLYZ_PACKEDBYTES+12]) {
poly.c: | ^
poly.c: ./poly.h:111:42: note: previously declared as 'const uint8_t[654]' (aka 'const unsigned char[654]') here
poly.c: 111 | void polyz_unpack(poly *r, const uint8_t a[POLYZ_PACKEDBYTES+14]);
poly.c: | ^
poly.c: poly.c:1121:26: warning: argument 'r' of type 'uint8_t[128]' (aka 'unsigned char[128]') with mismatched bound [-Warray-parameter]
poly.c: 1121 | void polyw1_pack(uint8_t r[POLYW1_PACKEDBYTES], const poly * restrict a) {
poly.c: | ^
poly.c: ./poly.h:114:26: note: previously declared as 'uint8_t[136]' (aka 'unsigned char[136]') here
poly.c: 114 | void polyw1_pack(uint8_t r[POLYW1_PACKEDBYTES+8], const poly *a);
poly.c: | ^
poly.c: 2 warnings generated.
rejsample.c: rejsample.c:316:62: warning: argument 'buf' of type 'const uint8_t[192]' (aka 'const unsigned char[192]') 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[768]' (aka 'const unsigned char[768]') 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.
try.c: clang: error: no such file or directory: '.../supercop-data/avx/amd64/lib/timecop/cpucycles.o'
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_19.1.1_(1ubuntu1)) |
avx2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_19.1.1_(1ubuntu1)) |
avx2 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_19.1.1_(1ubuntu1)) |
Compiler output
poly.c: poly.c:1055:52: warning: argument 2 of type 'const uint8_t[652]' {aka 'const unsigned char[652]'} with mismatched bound [-Warray-parameter=]
poly.c: 1055 | void polyz_unpack(poly * restrict r, const uint8_t a[POLYZ_PACKEDBYTES+12]) {
poly.c: | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
poly.c: In file included from poly.c:7:
poly.c: poly.h:111:42: note: previously declared as 'const uint8_t[654]' {aka 'const unsigned char[654]'}
poly.c: 111 | void polyz_unpack(poly *r, const uint8_t a[POLYZ_PACKEDBYTES+14]);
poly.c: | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
poly.c: poly.c:1121:26: warning: argument 1 of type 'uint8_t[128]' {aka 'unsigned char[128]'} with mismatched bound [-Warray-parameter=]
poly.c: 1121 | void polyw1_pack(uint8_t r[POLYW1_PACKEDBYTES], const poly * restrict a) {
poly.c: | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
poly.c: poly.h:114:26: note: previously declared as 'uint8_t[136]' {aka 'unsigned char[136]'}
poly.c: 114 | void polyw1_pack(uint8_t r[POLYW1_PACKEDBYTES+8], const poly *a);
poly.c: | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
polyvec.c: polyvec.c: In function 'crypto_sign_dilithium5aes_avx2_constbranchindex_polyvecl_uniform_gamma1':
polyvec.c: <command-line>: warning: 'crypto_sign_dilithium5aes_avx2_constbranchindex_poly_uniform_gamma1' reading 48 bytes from a region of size 32 [-Wstringop-overread]
polyvec.c: config.h:4:32: note: in expansion of macro 'CRYPTO_NAMESPACE'
polyvec.c: 4 | #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:4:32: note: in expansion of macro 'CRYPTO_NAMESPACE'
polyvec.c: 4 | #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_dilithium5aes_avx2_constbranchindex_poly_uniform_gamma1'
polyvec.c: config.h:4:32: note: in expansion of macro 'CRYPTO_NAMESPACE'
polyvec.c: 4 | #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[192]' {aka 'const unsigned char[192]'} 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[768]' {aka 'const unsigned char[768]'}
rejsample.c: 25 | unsigned int rej_eta_avx(int32_t *r, const uint8_t buf[REJ_UNIFORM_BUFLEN]);
rejsample.c: | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
try.c: In file included from try-anything-timecop.c:3:
try.c: try-anything.c:17:10: fatal error: cpucycles.h: No such file or directory
try.c: 17 | #include "cpucycles.h"
try.c: | ^~~~~~~~~~~~~
try.c: compilation terminated.
Number of similar (implementation,compiler) pairs: 3, namely:
Implementation | Compiler |
avx2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
avx2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
avx2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
Compiler output
try.c: clang: error: no such file or directory: '.../supercop-data/avx/amd64/lib/timecop/cpucycles.o'
Number of similar (implementation,compiler) pairs: 3, namely:
Implementation | Compiler |
ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_19.1.1_(1ubuntu1)) |
ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_19.1.1_(1ubuntu1)) |
ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_19.1.1_(1ubuntu1)) |
Compiler output
aes256ctr.c: aes256ctr.c:557:64: warning: argument 3 of type 'const uint8_t *' {aka 'const unsigned char *'} declared as a pointer [-Warray-parameter=]
aes256ctr.c: 557 | void aes256ctr_prf(uint8_t *out, size_t outlen, const uint8_t *key, const uint8_t *nonce)
aes256ctr.c: | ~~~~~~~~~~~~~~~^~~
aes256ctr.c: In file included from aes256ctr.c:27:
aes256ctr.c: aes256ctr.h:21:34: note: previously declared as an array 'const uint8_t[32]' {aka 'const unsigned char[32]'}
aes256ctr.c: 21 | const uint8_t key[32],
aes256ctr.c: | ~~~~~~~~~~~~~~^~~~~~~
aes256ctr.c: aes256ctr.c:557:84: warning: argument 4 of type 'const uint8_t *' {aka 'const unsigned char *'} declared as a pointer [-Warray-parameter=]
aes256ctr.c: 557 | void aes256ctr_prf(uint8_t *out, size_t outlen, const uint8_t *key, const uint8_t *nonce)
aes256ctr.c: | ~~~~~~~~~~~~~~~^~~~~
aes256ctr.c: aes256ctr.h:22:34: note: previously declared as an array 'const uint8_t[12]' {aka 'const unsigned char[12]'}
aes256ctr.c: 22 | const uint8_t nonce[12]);
aes256ctr.c: | ~~~~~~~~~~~~~~^~~~~~~~~
aes256ctr.c: aes256ctr.c:565:54: warning: argument 2 of type 'const uint8_t *' {aka 'const unsigned char *'} declared as a pointer [-Warray-parameter=]
aes256ctr.c: 565 | void aes256ctr_init(aes256ctr_ctx *s, const uint8_t *key, const uint8_t *nonce)
aes256ctr.c: | ~~~~~~~~~~~~~~~^~~
aes256ctr.c: aes256ctr.h:26:35: note: previously declared as an array 'const uint8_t[32]' {aka 'const unsigned char[32]'}
aes256ctr.c: 26 | const uint8_t key[32],
aes256ctr.c: | ~~~~~~~~~~~~~~^~~~~~~
aes256ctr.c: aes256ctr.c:565:74: warning: argument 3 of type 'const uint8_t *' {aka 'const unsigned char *'} declared as a pointer [-Warray-parameter=]
aes256ctr.c: 565 | void aes256ctr_init(aes256ctr_ctx *s, const uint8_t *key, const uint8_t *nonce)
aes256ctr.c: | ~~~~~~~~~~~~~~~^~~~~
aes256ctr.c: aes256ctr.h:27:35: note: previously declared as an array 'const uint8_t[12]' {aka 'const unsigned char[12]'}
aes256ctr.c: 27 | const uint8_t nonce[12]);
aes256ctr.c: | ~~~~~~~~~~~~~~^~~~~~~~~
aes256ctr.c: ...
polyvec.c: polyvec.c: In function 'crypto_sign_dilithium5aes_ref_constbranchindex_polyvecl_uniform_gamma1':
polyvec.c: <command-line>: warning: 'crypto_sign_dilithium5aes_ref_constbranchindex_poly_uniform_gamma1' reading 48 bytes from a region of size 32 [-Wstringop-overread]
polyvec.c: config.h:4:32: note: in expansion of macro 'CRYPTO_NAMESPACE'
polyvec.c: 4 | #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:4:32: note: in expansion of macro 'CRYPTO_NAMESPACE'
polyvec.c: 4 | #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_dilithium5aes_ref_constbranchindex_poly_uniform_gamma1'
polyvec.c: config.h:4:32: note: in expansion of macro 'CRYPTO_NAMESPACE'
polyvec.c: 4 | #define DILITHIUM_NAMESPACE(s) CRYPTO_NAMESPACE(s)
polyvec.c: | ^~~~~~~~~~~~~~~~
polyvec.c: ...
try.c: In file included from try-anything-timecop.c:3:
try.c: try-anything.c:17:10: fatal error: cpucycles.h: No such file or directory
try.c: 17 | #include "cpucycles.h"
try.c: | ^~~~~~~~~~~~~
try.c: compilation terminated.
Number of similar (implementation,compiler) pairs: 3, namely:
Implementation | Compiler |
ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
TIMECOP error (can be valgrind bug)
error 127
timeout: failed to run command 'valgrind': No such file or directory
Number of similar (implementation,compiler) pairs: 12, namely:
Implementation | Compiler |
avx2 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_19.1.1_(1ubuntu1)) |
avx2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_19.1.1_(1ubuntu1)) |
avx2 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_19.1.1_(1ubuntu1)) |
avx2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
avx2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
avx2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_19.1.1_(1ubuntu1)) |
ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_19.1.1_(1ubuntu1)) |
ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_19.1.1_(1ubuntu1)) |
ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |
ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.0) |