Implementation notes: amd64, rumba5, crypto_kem/edonk128k08n72nu8l8

Computer: rumba5
Microarchitecture: amd64; Zen (800f11)
Architecture: amd64
CPU ID: AuthenticAMD-00800f11-178bfbff
SUPERCOP version: 20240625
Operation: crypto_kem
Primitive: edonk128k08n72nu8l8

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
dec.c: dec.c:713: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:713:89: note: put the semicolon on a separate line to silence this warning
dec.c: dec.c:593: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:593:76: note: put the semicolon on a separate line to silence this warning
dec.c: dec.c:598: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:598: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/rumba5/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.
try.c: /usr/bin/ld: libcrypto_kem_edonk128k08n72nu8l8.a(enc.o):.../supercop-data/rumba5/amd64/try/c/clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/edonk128k08n72nu8l8/ref/work/enc.c:21: multiple definition of `K'; libcrypto_kem_edonk128k08n72nu8l8.a(dec.o):.../supercop-data/rumba5/amd64/try/c/clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/edonk128k08n72nu8l8/ref/work/dec.c:22: first defined here
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

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

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
dec.c: dec.c:713: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:713:89: note: put the semicolon on a separate line to silence this warning
dec.c: dec.c:593: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:593:76: note: put the semicolon on a separate line to silence this warning
dec.c: dec.c:598: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:598: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/rumba5/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.
try.c: /usr/bin/ld: libcrypto_kem_edonk128k08n72nu8l8.a(enc.o):.../supercop-data/rumba5/amd64/try/c/clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/edonk128k08n72nu8l8/ref/work/enc.c:21: multiple definition of `K'; libcrypto_kem_edonk128k08n72nu8l8.a(dec.o):.../supercop-data/rumba5/amd64/try/c/clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/edonk128k08n72nu8l8/ref/work/dec.c:22: first defined here
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

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

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
dec.c: dec.c:713: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:713:89: note: put the semicolon on a separate line to silence this warning
dec.c: dec.c:593: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:593:76: note: put the semicolon on a separate line to silence this warning
dec.c: dec.c:598: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:598: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/rumba5/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.
try.c: /usr/bin/ld: libcrypto_kem_edonk128k08n72nu8l8.a(enc.o):.../supercop-data/rumba5/amd64/try/c/clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/edonk128k08n72nu8l8/ref/work/enc.c:21: multiple definition of `K'; libcrypto_kem_edonk128k08n72nu8l8.a(dec.o):.../supercop-data/rumba5/amd64/try/c/clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/edonk128k08n72nu8l8/ref/work/dec.c:22: first defined here
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

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

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
dec.c: dec.c:713: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:713:89: note: put the semicolon on a separate line to silence this warning
dec.c: dec.c:593: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:593:76: note: put the semicolon on a separate line to silence this warning
dec.c: dec.c:598: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:598: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/rumba5/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.
try.c: /usr/bin/ld: libcrypto_kem_edonk128k08n72nu8l8.a(enc.o):.../supercop-data/rumba5/amd64/try/c/clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/edonk128k08n72nu8l8/ref/work/enc.c:21: multiple definition of `K'; libcrypto_kem_edonk128k08n72nu8l8.a(dec.o):.../supercop-data/rumba5/amd64/try/c/clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/edonk128k08n72nu8l8/ref/work/dec.c:22: first defined here
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

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

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
dec.c: dec.c:713: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:713:89: note: put the semicolon on a separate line to silence this warning
dec.c: dec.c:593: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:593:76: note: put the semicolon on a separate line to silence this warning
dec.c: dec.c:598: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:598: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/rumba5/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.
try.c: /usr/bin/ld: libcrypto_kem_edonk128k08n72nu8l8.a(enc.o):.../supercop-data/rumba5/amd64/try/c/clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/edonk128k08n72nu8l8/ref/work/enc.c:21: multiple definition of `K'; libcrypto_kem_edonk128k08n72nu8l8.a(dec.o):.../supercop-data/rumba5/amd64/try/c/clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/edonk128k08n72nu8l8/ref/work/dec.c:22: first defined here
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

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

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
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/rumba5/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:       |                                               ^~~~~~~~~~~~~~~~~~~~~
try.c: /usr/bin/ld: libcrypto_kem_edonk128k08n72nu8l8.a(enc.o):.../supercop-data/rumba5/amd64/try/c/gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/edonk128k08n72nu8l8/ref/work/enc.c:21: multiple definition of `K'; libcrypto_kem_edonk128k08n72nu8l8.a(dec.o):.../supercop-data/rumba5/amd64/try/c/gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/edonk128k08n72nu8l8/ref/work/dec.c:22: first defined here
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
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/rumba5/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:       |                                               ^~~~~~~~~~~~~~~~~~~~~
try.c: /usr/bin/ld: libcrypto_kem_edonk128k08n72nu8l8.a(enc.o):.../supercop-data/rumba5/amd64/try/c/gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/edonk128k08n72nu8l8/ref/work/enc.c:21: multiple definition of `K'; libcrypto_kem_edonk128k08n72nu8l8.a(dec.o):.../supercop-data/rumba5/amd64/try/c/gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/edonk128k08n72nu8l8/ref/work/dec.c:22: first defined here
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
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/rumba5/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:       |                                               ^~~~~~~~~~~~~~~~~~~~~
try.c: /usr/bin/ld: libcrypto_kem_edonk128k08n72nu8l8.a(enc.o):.../supercop-data/rumba5/amd64/try/c/gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/edonk128k08n72nu8l8/ref/work/enc.c:21: multiple definition of `K'; libcrypto_kem_edonk128k08n72nu8l8.a(dec.o):.../supercop-data/rumba5/amd64/try/c/gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/edonk128k08n72nu8l8/ref/work/dec.c:22: first defined here
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
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/rumba5/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:       |                                               ^~~~~~~~~~~~~~~~~~~~~
try.c: /usr/bin/ld: libcrypto_kem_edonk128k08n72nu8l8.a(enc.o):.../supercop-data/rumba5/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/edonk128k08n72nu8l8/ref/work/enc.c:21: multiple definition of `K'; libcrypto_kem_edonk128k08n72nu8l8.a(dec.o):.../supercop-data/rumba5/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/edonk128k08n72nu8l8/ref/work/dec.c:22: first defined here
try.c: collect2: error: ld returned 1 exit status

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