Implementation notes: armeabi, tinker, crypto_sign/bluegemss128

Computer: tinker
Microarchitecture: armeabi; Cortex-A17 (410fc0d1)
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20240107
Operation: crypto_sign
Primitive: bluegemss128

Test failure

Implementation: T:ref
Security model: timingleaks
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
error 111
inv: non-invertible matrix

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref

Compiler output

Implementation: T:opt
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
arith_gf2n.c: In file included from arith_gf2n.c:1:
arith_gf2n.c: In file included from ./arith_gf2n.h:9:
arith_gf2n.c: In file included from ./tools_gf2n.h:162:
arith_gf2n.c: ./mul_gf2x.h:17:14: fatal error: 'gf2x/gf2x_mul1.h' file not found
arith_gf2n.c: #include <gf2x/gf2x_mul1.h>
arith_gf2n.c: ^~~~~~~~~~~~~~~~~~
arith_gf2n.c: 1 error generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt T:skylake

Compiler output

Implementation: T:opt
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
arith_gf2n.c: In file included from tools_gf2n.h:162,
arith_gf2n.c: from arith_gf2n.h:9,
arith_gf2n.c: from arith_gf2n.c:1:
arith_gf2n.c: mul_gf2x.h:17:14: fatal error: gf2x/gf2x_mul1.h: No such file or directory
arith_gf2n.c: 17 | #include <gf2x/gf2x_mul1.h>
arith_gf2n.c: | ^~~~~~~~~~~~~~~~~~
arith_gf2n.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:skylake
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:skylake
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:skylake
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:skylake

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
sign_openHFE.c: In file included from config_HFE.h:5,
sign_openHFE.c: from sign_openHFE.h:4,
sign_openHFE.c: from sign_openHFE.c:1:
sign_openHFE.c: sign_openHFE.c: In function ‘int sign_openHFE(const unsigned char*, size_t, const unsigned char*, const uint64_t*)’:
sign_openHFE.c: bit.h:44:28: warning: left shift count >= width of type [-Wshift-count-overflow]
sign_openHFE.c: 44 | #define mask64(k) ((k)?(1UL<<(k))-1UL:-1UL)
sign_openHFE.c: | ~~~^~~~~
sign_openHFE.c: config_HFE.h:613:19: note: in expansion of macro ‘mask64’
sign_openHFE.c: 613 | #define HFE_MASKm mask64(HFEmr)
sign_openHFE.c: | ^~~~~~
sign_openHFE.c: sign_openHFE.c:205:55: note: in expansion of macro ‘HFE_MASKm’
sign_openHFE.c: 205 | D[SIZE_DIGEST_UINT*(i-1)+NB_WORD_GFqm-1]&=HFE_MASKm;
sign_openHFE.c: | ^~~~~~~~~
sign_openHFE.c: bit.h:44:28: warning: left shift count >= width of type [-Wshift-count-overflow]
sign_openHFE.c: 44 | #define mask64(k) ((k)?(1UL<<(k))-1UL:-1UL)
sign_openHFE.c: | ~~~^~~~~
sign_openHFE.c: config_HFE.h:613:19: note: in expansion of macro ‘mask64’
sign_openHFE.c: 613 | #define HFE_MASKm mask64(HFEmr)
sign_openHFE.c: | ^~~~~~
sign_openHFE.c: sign_openHFE.c:210:51: note: in expansion of macro ‘HFE_MASKm’
sign_openHFE.c: 210 | D[SIZE_DIGEST_UINT*(i-1)+NB_WORD_GFqm-1]&=HFE_MASKm;
sign_openHFE.c: | ^~~~~~~~~
sign_openHFE.c: bit.h:44:28: warning: left shift count >= width of type [-Wshift-count-overflow]
sign_openHFE.c: 44 | #define mask64(k) ((k)?(1UL<<(k))-1UL:-1UL)
sign_openHFE.c: | ~~~^~~~~
sign_openHFE.c: ...
chooseRootHFE.cpp: In file included from config_HFE.h:5,
chooseRootHFE.cpp: from chooseRootHFE.hpp:4,
chooseRootHFE.cpp: from chooseRootHFE.cpp:1:
chooseRootHFE.cpp: chooseRootHFE.cpp: In function ‘unsigned int chooseRootHFE(gf2n, cst_sparse_monic_gf2nx, cst_gf2n)’:
chooseRootHFE.cpp: bit.h:44:28: warning: left shift count >= width of type [-Wshift-count-overflow]
chooseRootHFE.cpp: 44 | #define mask64(k) ((k)?(1UL<<(k))-1UL:-1UL)
chooseRootHFE.cpp: | ~~~^~~~~
chooseRootHFE.cpp: config_HFE.h:486:19: note: in expansion of macro ‘mask64’
chooseRootHFE.cpp: 486 | #define HFE_MASKn mask64(HFEnr)
chooseRootHFE.cpp: | ^~~~~~
chooseRootHFE.cpp: chooseRootHFE.cpp:248:39: note: in expansion of macro ‘HFE_MASKn’
chooseRootHFE.cpp: 248 | root[NB_WORD_GFqn-1]&=HFE_MASKn;
chooseRootHFE.cpp: | ^~~~~~~~~
chooseRootHFE.cpp: bit.h:44:28: warning: left shift count >= width of type [-Wshift-count-overflow]
chooseRootHFE.cpp: 44 | #define mask64(k) ((k)?(1UL<<(k))-1UL:-1UL)
chooseRootHFE.cpp: | ~~~^~~~~
chooseRootHFE.cpp: config_HFE.h:486:19: note: in expansion of macro ‘mask64’
chooseRootHFE.cpp: 486 | #define HFE_MASKn mask64(HFEnr)
chooseRootHFE.cpp: | ^~~~~~
chooseRootHFE.cpp: chooseRootHFE.cpp:259:55: note: in expansion of macro ‘HFE_MASKn’
chooseRootHFE.cpp: 259 | roots_UINT[(i+1)*NB_WORD_GFqn-1]&=HFE_MASKn;
chooseRootHFE.cpp: | ^~~~~~~~~
evaluateMQS.cpp: In file included from config_HFE.h:5,
evaluateMQS.cpp: from evaluateMQS.hpp:4,
evaluateMQS.cpp: from evaluateMQS.cpp:1:
evaluateMQS.cpp: evaluateMQS.cpp: In function ‘void evaluateMQS_pk(vecm_gf2, cst_vecnv_gf2, cst_mqsnv_gf2m)’:
evaluateMQS.cpp: bit.h:44:28: warning: left shift count >= width of type [-Wshift-count-overflow]
evaluateMQS.cpp: 44 | #define mask64(k) ((k)?(1UL<<(k))-1UL:-1UL)
evaluateMQS.cpp: | ~~~^~~~~
evaluateMQS.cpp: config_HFE.h:613:19: note: in expansion of macro ‘mask64’
evaluateMQS.cpp: 613 | #define HFE_MASKm mask64(HFEmr)
evaluateMQS.cpp: | ^~~~~~
evaluateMQS.cpp: evaluateMQS.cpp:56:28: note: in expansion of macro ‘HFE_MASKm’
evaluateMQS.cpp: 56 | c[NB_WORD_GFqm-1]&=HFE_MASKm;
evaluateMQS.cpp: | ^~~~~~~~~
evaluateMQS.cpp: evaluateMQS.cpp: In function ‘void evaluateMQS(vecn_gf2, cst_vecv_gf2, cst_mqsv_gf2n)’:
evaluateMQS.cpp: bit.h:44:28: warning: left shift count >= width of type [-Wshift-count-overflow]
evaluateMQS.cpp: 44 | #define mask64(k) ((k)?(1UL<<(k))-1UL:-1UL)
evaluateMQS.cpp: | ~~~^~~~~
evaluateMQS.cpp: config_HFE.h:486:19: note: in expansion of macro ‘mask64’
evaluateMQS.cpp: 486 | #define HFE_MASKn mask64(HFEnr)
evaluateMQS.cpp: | ^~~~~~
evaluateMQS.cpp: evaluateMQS.cpp:170:28: note: in expansion of macro ‘HFE_MASKn’
evaluateMQS.cpp: 170 | c[NB_WORD_GFqn-1]&=HFE_MASKn;
evaluateMQS.cpp: | ^~~~~~~~~
genHFEtab.cpp: In file included from config_HFE.h:5,
genHFEtab.cpp: from genHFEtab.hpp:4,
genHFEtab.cpp: from genHFEtab.cpp:1:
genHFEtab.cpp: genHFEtab.cpp: In function ‘void genHFEpolynom(sparse_monic_gf2nx)’:
genHFEtab.cpp: bit.h:44:28: warning: left shift count >= width of type [-Wshift-count-overflow]
genHFEtab.cpp: 44 | #define mask64(k) ((k)?(1UL<<(k))-1UL:-1UL)
genHFEtab.cpp: | ~~~^~~~~
genHFEtab.cpp: config_HFE.h:486:19: note: in expansion of macro ‘mask64’
genHFEtab.cpp: 486 | #define HFE_MASKn mask64(HFEnr)
genHFEtab.cpp: | ^~~~~~
genHFEtab.cpp: genHFEtab.cpp:25:20: note: in expansion of macro ‘HFE_MASKn’
genHFEtab.cpp: 25 | *F_cp&=HFE_MASKn;
genHFEtab.cpp: | ^~~~~~~~~
genHFEtab.cpp: genHFEtab.cpp: In function ‘void genPlaintext(vecnv_gf2)’:
genHFEtab.cpp: bit.h:44:28: warning: left shift count >= width of type [-Wshift-count-overflow]
genHFEtab.cpp: 44 | #define mask64(k) ((k)?(1UL<<(k))-1UL:-1UL)
genHFEtab.cpp: | ~~~^~~~~
genHFEtab.cpp: config_HFE.h:523:20: note: in expansion of macro ‘mask64’
genHFEtab.cpp: 523 | #define HFE_MASKnv mask64(HFEnvr)
genHFEtab.cpp: | ^~~~~~
genHFEtab.cpp: genHFEtab.cpp:194:33: note: in expansion of macro ‘HFE_MASKnv’
genHFEtab.cpp: 194 | plain[NB_WORD_GFqnv-1]&=HFE_MASKnv;
genHFEtab.cpp: | ^~~~~~~~~~
signHFE.cpp: In file included from config_HFE.h:5,
signHFE.cpp: from signHFE.hpp:4,
signHFE.cpp: from signHFE.cpp:1:
signHFE.cpp: signHFE.cpp: In function ‘int signHFE(unsigned char*, const unsigned char*, size_t, const uint64_t*)’:
signHFE.cpp: bit.h:44:28: warning: left shift count >= width of type [-Wshift-count-overflow]
signHFE.cpp: 44 | #define mask64(k) ((k)?(1UL<<(k))-1UL:-1UL)
signHFE.cpp: | ~~~^~~~~
signHFE.cpp: config_HFE.h:613:19: note: in expansion of macro ‘mask64’
signHFE.cpp: 613 | #define HFE_MASKm mask64(HFEmr)
signHFE.cpp: | ^~~~~~
signHFE.cpp: signHFE.cpp:283:33: note: in expansion of macro ‘HFE_MASKm’
signHFE.cpp: 283 | DR[NB_WORD_GFqm-1]&=HFE_MASKm;
signHFE.cpp: | ^~~~~~~~~
signHFE.cpp: bit.h:44:28: warning: left shift count >= width of type [-Wshift-count-overflow]
signHFE.cpp: 44 | #define mask64(k) ((k)?(1UL<<(k))-1UL:-1UL)
signHFE.cpp: | ~~~^~~~~
signHFE.cpp: config_HFE.h:486:19: note: in expansion of macro ‘mask64’
signHFE.cpp: 486 | #define HFE_MASKn mask64(HFEnr)
signHFE.cpp: | ^~~~~~
signHFE.cpp: signHFE.cpp:316:37: note: in expansion of macro ‘HFE_MASKn’
signHFE.cpp: 316 | DR[NB_WORD_GFqn-1]&=HFE_MASKn;
signHFE.cpp: | ^~~~~~~~~
signHFE.cpp: bit.h:44:28: warning: left shift count >= width of type [-Wshift-count-overflow]
signHFE.cpp: 44 | #define mask64(k) ((k)?(1UL<<(k))-1UL:-1UL)
signHFE.cpp: | ~~~^~~~~
signHFE.cpp: ...
try.cpp: /usr/bin/ld: warning: KeccakP-1600-armv7a-le-neon-gcc.o: missing .note.GNU-stack section implies executable stack
try.cpp: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref