Implementation notes: amd64, margaux, crypto_kem/edonk128ref

Computer: margaux
Microarchitecture: amd64; Core 2 65nm (6fb)
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20240716
Operation: crypto_kem
Primitive: edonk128ref
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
10998988817516 0 5647629 1076 1760T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
11038883027186 0 5658917 1044 1856T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
11046657624591 0 5656331 1084 1760T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
11050539540022 0 5672579 1084 1760T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
11130966118519 0 5648420 1044 1824T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
11147957924497 0 5655356 1052 1856T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
11206840119470 0 5650331 1084 1760T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
11338380240098 0 5672899 1084 1760T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716
11571952325403 0 5656844 1052 1856T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024073020240716

Compiler output


dec.c: dec.c:710:89: warning: for loop has empty body [-Wempty-body]
dec.c:                 for(i=0; i<(1<<(ErrorBasisDimension+1))+2; i++) Kclear(allcandidates[i]);
dec.c:                                                                                         ^
dec.c: dec.c:710:89: note: put the semicolon on a separate line to silence this warning
dec.c: dec.c:590:76: warning: for loop has empty body [-Wempty-body]
dec.c:     for(i=0; i<(1<<(ErrorBasisDimension+1))+2; i++) Kinit(allcandidates[i]);
dec.c:                                                                            ^
dec.c: dec.c:590:76: note: put the semicolon on a separate line to silence this warning
dec.c: dec.c:595:56: warning: for loop has empty body [-Wempty-body]
dec.c:     for(i=0; i<NrColumns; i++) Kinit(Ciphertext.cph[i]);
dec.c:                                                        ^
dec.c: dec.c:595:56: note: put the semicolon on a separate line to silence this warning
dec.c: 3 warnings generated.
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/margaux/amd64/include/gmp.h:1595: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.

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

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/margaux/amd64/include/gmp.h:1595:47: note: expected 'const unsigned char *' but argument is of type 'char *'
mpfq_2_128.c:  1595 | __GMP_DECLSPEC mp_size_t mpn_set_str (mp_ptr, const unsigned char *, size_t, int);
mpfq_2_128.c:       |                                               ^~~~~~~~~~~~~~~~~~~~~

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

Namespace violations


dec.o addcandidate T
dec.o checkhash T
enc.o K B
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_ECB T
rng.o DRBG_ctx B
rng.o handleErrors T
rng.o seedexpander T
rng.o seedexpander_init T

Number of similar (implementation,compiler) pairs: 9, namely:
ImplementationCompiler
T:refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)