Test results for amd64, cherry, crypto_sign/edons128k08n72nu8l4mu3
[Page version: 20251010 16:59:10]
Measurements for amd64, cherry, crypto_sign
Test results for amd64, cherry, crypto_sign
Test results for crypto_sign/edons128k08n72nu8l4mu3
Computer: cherry
Microarchitecture: amd64; Silvermont (406c4)
Architecture: amd64
CPU ID: GenuineIntel-000406c4-bfebfbff 
SUPERCOP version: 20250922
Operation: crypto_sign
Primitive: edons128k08n72nu8l4mu3
| Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version | 
|---|
| 4501135 | 32010 0 896 | 65515 996 2720 | T:ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250925 | 20250922 | 
| 4772952 | 45218 0 896 | 80660 1060 2688 | T:ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250925 | 20250922 | 
| 4793457 | 46184 0 896 | 80972 1060 2688 | T:ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250925 | 20250922 | 
| 5060313 | 26375 0 896 | 60196 1060 2688 | T:ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250925 | 20250922 | 
| 5463902 | 17072 0 896 | 49338 1052 2688 | T:ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250925 | 20250922 | 
| 5613561 | 23223 0 896 | 56882 1004 2720 | T:ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250925 | 20250922 | 
| 5650383 | 23185 0 896 | 56306 1004 2720 | T:ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250925 | 20250922 | 
| 6187616 | 20275 0 896 | 53140 1060 2688 | T:ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250925 | 20250922 | 
| 6800998 | 16266 0 896 | 48034 996 2720 | T:ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250925 | 20250922 | 
Compiler output
mpfq_2_128.c: mpfq_2_128.c:154:35: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
mpfq_2_128.c:         int ret = mpn_set_str(zz, tmp, len, k->io_type);
mpfq_2_128.c:                                   ^~~
mpfq_2_128.c: .../supercop-data/cherry/amd64/include/gmp.h:1602:68: note: passing argument to parameter here
mpfq_2_128.c: __GMP_DECLSPEC mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int);
mpfq_2_128.c:                                                                    ^
mpfq_2_128.c: 1 warning generated.
sign.c: sign.c:566:83: warning: for loop has empty body [-Wempty-body]
sign.c:     for(i=0; i<(1<<(mu + 1 + ErrorBasisDimension))+2; i++) Kinit(allcandidates[i]);
sign.c:                                                                                   ^
sign.c: sign.c:566:83: note: put the semicolon on a separate line to silence this warning
sign.c: sign.c:880:84: warning: for loop has empty body [-Wempty-body]
sign.c:     for(i=0; i<(1<<(mu + 1 + ErrorBasisDimension))+2; i++) Kclear(allcandidates[i]);
sign.c:                                                                                    ^
sign.c: sign.c:880:84: note: put the semicolon on a separate line to silence this warning
sign.c: sign.c:934:83: warning: for loop has empty body [-Wempty-body]
sign.c:     for(i=0; i<(1<<(mu + 1 + ErrorBasisDimension))+2; i++) Kinit(allcandidates[i]);
sign.c:                                                                                   ^
sign.c: sign.c:934:83: note: put the semicolon on a separate line to silence this warning
sign.c: sign.c:916:19: warning: unused variable 'allrandombytes' [-Wunused-variable]
sign.c:     unsigned char allrandombytes[NrColumns];
sign.c:                   ^
sign.c: sign.c:926:10: warning: unused variable 'mm' [-Wunused-variable]
sign.c:     Kelt mm[mu], Cbase[NrColumns];
sign.c:          ^
sign.c: sign.c:915:19: warning: unused variable 's0s1' [-Wunused-variable]
sign.c:     unsigned char s0s1[crypto_hash_sha256_BYTES], s1s0[crypto_hash_sha256_BYTES];
sign.c:                   ^
sign.c: sign.c:915:51: warning: unused variable 's1s0' [-Wunused-variable]
sign.c:     unsigned char s0s1[crypto_hash_sha256_BYTES], s1s0[crypto_hash_sha256_BYTES];
sign.c:                                                   ^
sign.c: sign.c:913:51: warning: unused variable 'temphash' [-Wunused-variable]
sign.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler | 
| T:ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) | 
Compiler output
mpfq_2_128.c: mpfq_2_128.c:154:35: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
mpfq_2_128.c:         int ret = mpn_set_str(zz, tmp, len, k->io_type);
mpfq_2_128.c:                                   ^~~
mpfq_2_128.c: .../supercop-data/cherry/amd64/include/gmp.h:1602:68: note: passing argument to parameter here
mpfq_2_128.c: __GMP_DECLSPEC mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int);
mpfq_2_128.c:                                                                    ^
mpfq_2_128.c: 1 warning generated.
sign.c: sign.c:566:83: warning: for loop has empty body [-Wempty-body]
sign.c:     for(i=0; i<(1<<(mu + 1 + ErrorBasisDimension))+2; i++) Kinit(allcandidates[i]);
sign.c:                                                                                   ^
sign.c: sign.c:566:83: note: put the semicolon on a separate line to silence this warning
sign.c: sign.c:880:84: warning: for loop has empty body [-Wempty-body]
sign.c:     for(i=0; i<(1<<(mu + 1 + ErrorBasisDimension))+2; i++) Kclear(allcandidates[i]);
sign.c:                                                                                    ^
sign.c: sign.c:880:84: note: put the semicolon on a separate line to silence this warning
sign.c: sign.c:934:83: warning: for loop has empty body [-Wempty-body]
sign.c:     for(i=0; i<(1<<(mu + 1 + ErrorBasisDimension))+2; i++) Kinit(allcandidates[i]);
sign.c:                                                                                   ^
sign.c: sign.c:934:83: note: put the semicolon on a separate line to silence this warning
sign.c: sign.c:926:10: warning: unused variable 'mm' [-Wunused-variable]
sign.c:     Kelt mm[mu], Cbase[NrColumns];
sign.c:          ^
sign.c: sign.c:916:19: warning: unused variable 'allrandombytes' [-Wunused-variable]
sign.c:     unsigned char allrandombytes[NrColumns];
sign.c:                   ^
sign.c: sign.c:915:51: warning: unused variable 's1s0' [-Wunused-variable]
sign.c:     unsigned char s0s1[crypto_hash_sha256_BYTES], s1s0[crypto_hash_sha256_BYTES];
sign.c:                                                   ^
sign.c: sign.c:915:19: warning: unused variable 's0s1' [-Wunused-variable]
sign.c:     unsigned char s0s1[crypto_hash_sha256_BYTES], s1s0[crypto_hash_sha256_BYTES];
sign.c:                   ^
sign.c: sign.c:914:19: warning: unused variable 'SHA2ofC' [-Wunused-variable]
sign.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler | 
| T:ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) | 
Compiler output
mpfq_2_128.c: mpfq_2_128.c:154:35: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
mpfq_2_128.c:         int ret = mpn_set_str(zz, tmp, len, k->io_type);
mpfq_2_128.c:                                   ^~~
mpfq_2_128.c: .../supercop-data/cherry/amd64/include/gmp.h:1602:68: note: passing argument to parameter here
mpfq_2_128.c: __GMP_DECLSPEC mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int);
mpfq_2_128.c:                                                                    ^
mpfq_2_128.c: 1 warning generated.
sign.c: sign.c:566:83: warning: for loop has empty body [-Wempty-body]
sign.c:     for(i=0; i<(1<<(mu + 1 + ErrorBasisDimension))+2; i++) Kinit(allcandidates[i]);
sign.c:                                                                                   ^
sign.c: sign.c:566:83: note: put the semicolon on a separate line to silence this warning
sign.c: sign.c:880:84: warning: for loop has empty body [-Wempty-body]
sign.c:     for(i=0; i<(1<<(mu + 1 + ErrorBasisDimension))+2; i++) Kclear(allcandidates[i]);
sign.c:                                                                                    ^
sign.c: sign.c:880:84: note: put the semicolon on a separate line to silence this warning
sign.c: sign.c:934:83: warning: for loop has empty body [-Wempty-body]
sign.c:     for(i=0; i<(1<<(mu + 1 + ErrorBasisDimension))+2; i++) Kinit(allcandidates[i]);
sign.c:                                                                                   ^
sign.c: sign.c:934:83: note: put the semicolon on a separate line to silence this warning
sign.c: sign.c:926:10: warning: unused variable 'mm' [-Wunused-variable]
sign.c:     Kelt mm[mu], Cbase[NrColumns];
sign.c:          ^
sign.c: sign.c:912:10: warning: unused variable 'e' [-Wunused-variable]
sign.c:     Kelt e[ErrorBasisDimension];
sign.c:          ^
sign.c: sign.c:915:51: warning: unused variable 's1s0' [-Wunused-variable]
sign.c:     unsigned char s0s1[crypto_hash_sha256_BYTES], s1s0[crypto_hash_sha256_BYTES];
sign.c:                                                   ^
sign.c: sign.c:916:19: warning: unused variable 'allrandombytes' [-Wunused-variable]
sign.c:     unsigned char allrandombytes[NrColumns];
sign.c:                   ^
sign.c: sign.c:914:19: warning: unused variable 'SHA2ofC' [-Wunused-variable]
sign.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler | 
| T:ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) | 
Compiler output
mpfq_2_128.c: mpfq_2_128.c:154:35: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
mpfq_2_128.c:         int ret = mpn_set_str(zz, tmp, len, k->io_type);
mpfq_2_128.c:                                   ^~~
mpfq_2_128.c: .../supercop-data/cherry/amd64/include/gmp.h:1602:68: note: passing argument to parameter here
mpfq_2_128.c: __GMP_DECLSPEC mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int);
mpfq_2_128.c:                                                                    ^
mpfq_2_128.c: 1 warning generated.
sign.c: sign.c:566:83: warning: for loop has empty body [-Wempty-body]
sign.c:     for(i=0; i<(1<<(mu + 1 + ErrorBasisDimension))+2; i++) Kinit(allcandidates[i]);
sign.c:                                                                                   ^
sign.c: sign.c:566:83: note: put the semicolon on a separate line to silence this warning
sign.c: sign.c:880:84: warning: for loop has empty body [-Wempty-body]
sign.c:     for(i=0; i<(1<<(mu + 1 + ErrorBasisDimension))+2; i++) Kclear(allcandidates[i]);
sign.c:                                                                                    ^
sign.c: sign.c:880:84: note: put the semicolon on a separate line to silence this warning
sign.c: sign.c:934:83: warning: for loop has empty body [-Wempty-body]
sign.c:     for(i=0; i<(1<<(mu + 1 + ErrorBasisDimension))+2; i++) Kinit(allcandidates[i]);
sign.c:                                                                                   ^
sign.c: sign.c:934:83: note: put the semicolon on a separate line to silence this warning
sign.c: sign.c:915:19: warning: unused variable 's0s1' [-Wunused-variable]
sign.c:     unsigned char s0s1[crypto_hash_sha256_BYTES], s1s0[crypto_hash_sha256_BYTES];
sign.c:                   ^
sign.c: sign.c:915:51: warning: unused variable 's1s0' [-Wunused-variable]
sign.c:     unsigned char s0s1[crypto_hash_sha256_BYTES], s1s0[crypto_hash_sha256_BYTES];
sign.c:                                                   ^
sign.c: sign.c:916:19: warning: unused variable 'allrandombytes' [-Wunused-variable]
sign.c:     unsigned char allrandombytes[NrColumns];
sign.c:                   ^
sign.c: sign.c:926:10: warning: unused variable 'mm' [-Wunused-variable]
sign.c:     Kelt mm[mu], Cbase[NrColumns];
sign.c:          ^
sign.c: sign.c:912:10: warning: unused variable 'e' [-Wunused-variable]
sign.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler | 
| T:ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) | 
Compiler output
mpfq_2_128.c: mpfq_2_128.c:154:35: warning: passing 'char *' to parameter of type 'const unsigned char *' converts between pointers to integer types where one is of the unique plain 'char' type and the other is not [-Wpointer-sign]
mpfq_2_128.c:         int ret = mpn_set_str(zz, tmp, len, k->io_type);
mpfq_2_128.c:                                   ^~~
mpfq_2_128.c: .../supercop-data/cherry/amd64/include/gmp.h:1602:68: note: passing argument to parameter here
mpfq_2_128.c: __GMP_DECLSPEC mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int);
mpfq_2_128.c:                                                                    ^
mpfq_2_128.c: 1 warning generated.
sign.c: sign.c:566:83: warning: for loop has empty body [-Wempty-body]
sign.c:     for(i=0; i<(1<<(mu + 1 + ErrorBasisDimension))+2; i++) Kinit(allcandidates[i]);
sign.c:                                                                                   ^
sign.c: sign.c:566:83: note: put the semicolon on a separate line to silence this warning
sign.c: sign.c:880:84: warning: for loop has empty body [-Wempty-body]
sign.c:     for(i=0; i<(1<<(mu + 1 + ErrorBasisDimension))+2; i++) Kclear(allcandidates[i]);
sign.c:                                                                                    ^
sign.c: sign.c:880:84: note: put the semicolon on a separate line to silence this warning
sign.c: sign.c:934:83: warning: for loop has empty body [-Wempty-body]
sign.c:     for(i=0; i<(1<<(mu + 1 + ErrorBasisDimension))+2; i++) Kinit(allcandidates[i]);
sign.c:                                                                                   ^
sign.c: sign.c:934:83: note: put the semicolon on a separate line to silence this warning
sign.c: sign.c:913:19: warning: unused variable 'hash' [-Wunused-variable]
sign.c:     unsigned char hash[crypto_hash_sha256_BYTES], temphash[2*crypto_hash_sha256_BYTES];
sign.c:                   ^
sign.c: sign.c:913:51: warning: unused variable 'temphash' [-Wunused-variable]
sign.c:     unsigned char hash[crypto_hash_sha256_BYTES], temphash[2*crypto_hash_sha256_BYTES];
sign.c:                                                   ^
sign.c: sign.c:914:19: warning: unused variable 'SHA2ofC' [-Wunused-variable]
sign.c:     unsigned char SHA2ofC[crypto_hash_sha256_BYTES];
sign.c:                   ^
sign.c: sign.c:915:19: warning: unused variable 's0s1' [-Wunused-variable]
sign.c:     unsigned char s0s1[crypto_hash_sha256_BYTES], s1s0[crypto_hash_sha256_BYTES];
sign.c:                   ^
sign.c: sign.c:925:10: warning: unused variable 'M' [-Wunused-variable]
sign.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler | 
| T:ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) | 
Compiler output
mpfq_2_128.c: mpfq_2_128.c: In function 'mpfq_2_128_sscan':
mpfq_2_128.c: mpfq_2_128.c:154:35: warning: pointer targets in passing argument 2 of '__gmpn_set_str' differ in signedness [-Wpointer-sign]
mpfq_2_128.c:   154 |         int ret = mpn_set_str(zz, tmp, len, k->io_type);
mpfq_2_128.c:       |                                   ^~~
mpfq_2_128.c:       |                                   |
mpfq_2_128.c:       |                                   char *
mpfq_2_128.c: In file included from mpfq.h:6,
mpfq_2_128.c:                  from mpfq_2_128.h:6,
mpfq_2_128.c:                  from mpfq_2_128.c:3:
mpfq_2_128.c: .../supercop-data/cherry/amd64/include/gmp.h:1602:47: note: expected 'const unsigned char *' but argument is of type 'char *'
mpfq_2_128.c:  1602 | __GMP_DECLSPEC mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int);
mpfq_2_128.c:       |                                               ^~~~~~~~~~~~~~~~~~~~~
sign.c: sign.c: In function 'crypto_sign_edons128k08n72nu8l4mu3_ref_timingleaks_open':
sign.c: sign.c:926:10: warning: unused variable 'mm' [-Wunused-variable]
sign.c:   926 |     Kelt mm[mu], Cbase[NrColumns];
sign.c:       |          ^~
sign.c: sign.c:925:10: warning: unused variable 'M' [-Wunused-variable]
sign.c:   925 |     Kelt M[ProjectionDim], y[NrRows], C[NrColumns], allcandidates[(1<<(mu + 1 + ErrorBasisDimension))+2];
sign.c:       |          ^
sign.c: sign.c:916:19: warning: unused variable 'allrandombytes' [-Wunused-variable]
sign.c:   916 |     unsigned char allrandombytes[NrColumns];
sign.c:       |                   ^~~~~~~~~~~~~~
sign.c: sign.c:915:51: warning: unused variable 's1s0' [-Wunused-variable]
sign.c:   915 |     unsigned char s0s1[crypto_hash_sha256_BYTES], s1s0[crypto_hash_sha256_BYTES];
sign.c:       |                                                   ^~~~
sign.c: sign.c:915:19: warning: unused variable 's0s1' [-Wunused-variable]
sign.c:   915 |     unsigned char s0s1[crypto_hash_sha256_BYTES], s1s0[crypto_hash_sha256_BYTES];
sign.c:       |                   ^~~~
sign.c: sign.c:914:19: warning: unused variable 'SHA2ofC' [-Wunused-variable]
sign.c:   914 |     unsigned char SHA2ofC[crypto_hash_sha256_BYTES];
sign.c:       |                   ^~~~~~~
sign.c: sign.c:913:51: warning: unused variable 'temphash' [-Wunused-variable]
sign.c:   913 |     unsigned char hash[crypto_hash_sha256_BYTES], temphash[2*crypto_hash_sha256_BYTES];
sign.c:       |                                                   ^~~~~~~~
sign.c: sign.c:913:19: warning: unused variable 'hash' [-Wunused-variable]
sign.c:   913 |     unsigned char hash[crypto_hash_sha256_BYTES], temphash[2*crypto_hash_sha256_BYTES];
sign.c:       |                   ^~~~
sign.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
| Implementation | Compiler | 
| T:ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| T:ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| T:ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| T:ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
Namespace violations
gmp_export.o gmp_export T
gmp_import.o gmp_import T
mpfq_2_128.o mpfq_2_128_asprint T
mpfq_2_128.o mpfq_2_128_fprint T
mpfq_2_128.o mpfq_2_128_fscan T
mpfq_2_128.o mpfq_2_128_sscan T
rng.o AES256_CTR_DRBG_Update T
rng.o AES256_ECB T
rng.o DRBG_ctx B
rng.o handleErrors T
rng.o randombytes_init T
rng.o seedexpander T
rng.o seedexpander_init T
sign.o K B
sign.o PublicKey B
sign.o addcandidate T
sign.o compare T
Number of similar (implementation,compiler) pairs: 9, namely:
| Implementation | Compiler | 
| T:ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) | 
| T:ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) | 
| T:ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) | 
| T:ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) | 
| T:ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) | 
| T:ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| T:ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| T:ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| T:ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |