Implementation notes: armeabi, rpi4, crypto_kem/bike2l1nc

Computer: rpi4
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20191221
Operation: crypto_kem
Primitive: bike2l1nc

Test failure

Implementation: ref_ossl
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
error 111
crypto_kem_dec returns nonzero

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

Compiler output

Implementation: ref_ntl
Security model: unknown
Compiler: clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
aes.c: clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
aes.c: In file included from aes.c:12:
aes.c: In file included from ./aes.h:21:
aes.c: In file included from /usr/include/clang/7.0.1/include/wmmintrin.h:27:
aes.c: In file included from /usr/include/clang/7.0.1/include/emmintrin.h:27:
aes.c: In file included from /usr/include/clang/7.0.1/include/xmmintrin.h:27:
aes.c: /usr/include/clang/7.0.1/include/mmintrin.h:47:5: error: use of undeclared identifier '__builtin_ia32_emms'; did you mean '__builtin_isless'?
aes.c: __builtin_ia32_emms();
aes.c: ^
aes.c: /usr/include/clang/7.0.1/include/mmintrin.h:47:5: note: '__builtin_isless' declared here
aes.c: /usr/include/clang/7.0.1/include/mmintrin.h:47:25: error: too few arguments to function call, expected 2, have 0
aes.c: __builtin_ia32_emms();
aes.c: ^
aes.c: /usr/include/clang/7.0.1/include/mmintrin.h:64:19: error: use of undeclared identifier '__builtin_ia32_vec_init_v2si'
aes.c: return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
aes.c: ^
aes.c: /usr/include/clang/7.0.1/include/mmintrin.h:81:12: error: use of undeclared identifier '__builtin_ia32_vec_ext_v2si'
aes.c: return __builtin_ia32_vec_ext_v2si((__v2si)__m, 0);
aes.c: ^
aes.c: /usr/include/clang/7.0.1/include/mmintrin.h:143:19: error: use of undeclared identifier '__builtin_ia32_packsswb'
aes.c: return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
aes.c: ^
aes.c: /usr/include/clang/7.0.1/include/mmintrin.h:173:19: error: use of undeclared identifier '__builtin_ia32_packssdw'
aes.c: return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
aes.c: ^
aes.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref_ntl
clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref_ntl
clang++ -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref_ntl
clang++ -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref_ntl

Compiler output

Implementation: ref_ntl
Security model: unknown
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
aes.c: In file included from aes.c:12:
aes.c: aes.h:21:12: fatal error: wmmintrin.h: No such file or directory
aes.c: #include <wmmintrin.h>
aes.c: ^~~~~~~~~~~~~
aes.c: compilation terminated.

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

Compiler output

Implementation: ref_ossl
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
aes_ctr_prf.c: In file included from aes_ctr_prf.c:14:
aes_ctr_prf.c: ./utilities.h:93:28: error: unknown register name 'rdx' in asm
aes_ctr_prf.c: : "rdx");
aes_ctr_prf.c: ^
aes_ctr_prf.c: ./utilities.h:108:28: error: unknown register name 'rdx' in asm
aes_ctr_prf.c: : "rdx");
aes_ctr_prf.c: ^
aes_ctr_prf.c: ./utilities.h:125:28: error: unknown register name 'rdx' in asm
aes_ctr_prf.c: : "rdx");
aes_ctr_prf.c: ^
aes_ctr_prf.c: 3 errors generated.

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref_ossl
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref_ossl
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref_ossl
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref_ossl
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref_ossl

Compiler output

Implementation: ref_ossl
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
aes_ctr_prf.c: In file included from bike_defs.h:20,
aes_ctr_prf.c: from types.h:15,
aes_ctr_prf.c: from aes.h:15,
aes_ctr_prf.c: from aes_ctr_prf.h:15,
aes_ctr_prf.c: from aes_ctr_prf.c:13:
aes_ctr_prf.c: aes_ctr_prf.c: In function 'perform_aes':
aes_ctr_prf.c: defs.h:47:25: warning: left shift count >= width of type [-Wshift-count-overflow]
aes_ctr_prf.c: #define BIT(len) (1UL << (len))
aes_ctr_prf.c: ^~
aes_ctr_prf.c: defs.h:35:76: note: in definition of macro 'bike_static_assert'
aes_ctr_prf.c: #define bike_static_assert(COND, MSG) typedef char static_assertion_##MSG[(COND) ? 1 : -1] BIKE_UNUSED_ATT
aes_ctr_prf.c: ^~~~
aes_ctr_prf.c: aes_ctr_prf.c:52:61: note: in expansion of macro 'BIT'
aes_ctr_prf.c: bike_static_assert(((sizeof(s->ctr.qw[0]) == 8) && (BIT(33) >= MAX_AES_INVOKATION)),
aes_ctr_prf.c: ^~~
aes_ctr_prf.c: defs.h:47:25: warning: left shift count >= width of type [-Wshift-count-overflow]
aes_ctr_prf.c: #define BIT(len) (1UL << (len))
aes_ctr_prf.c: ^~
aes_ctr_prf.c: defs.h:35:76: note: in definition of macro 'bike_static_assert'
aes_ctr_prf.c: #define bike_static_assert(COND, MSG) typedef char static_assertion_##MSG[(COND) ? 1 : -1] BIKE_UNUSED_ATT
aes_ctr_prf.c: ^~~~
aes_ctr_prf.c: defs.h:50:20: note: in expansion of macro 'BIT'
aes_ctr_prf.c: #define MASK(len) (BIT(len) - 1)
aes_ctr_prf.c: ^~~
aes_ctr_prf.c: aes.h:25:29: note: in expansion of macro 'MASK'
aes_ctr_prf.c: ...
kem.c: In file included from bike_defs.h:20,
kem.c: from types.h:15,
kem.c: from aes.h:15,
kem.c: from aes_ctr_prf.h:15,
kem.c: from sampling.h:15,
kem.c: from kem.c:15:
kem.c: kem.c: In function 'crypto_kem_bike2l1nc_ref_ossl_keypair':
kem.c: defs.h:47:25: warning: left shift count >= width of type [-Wshift-count-overflow]
kem.c: #define BIT(len) (1UL << (len))
kem.c: ^~
kem.c: defs.h:50:20: note: in expansion of macro 'BIT'
kem.c: #define MASK(len) (BIT(len) - 1)
kem.c: ^~~
kem.c: aes.h:25:29: note: in expansion of macro 'MASK'
kem.c: #define MAX_AES_INVOKATION (MASK(32))
kem.c: ^~~~
kem.c: kem.c:317:42: note: in expansion of macro 'MAX_AES_INVOKATION'
kem.c: init_aes_ctr_prf_state(&h_prf_state, MAX_AES_INVOKATION, &seeds.s1);
kem.c: ^~~~~~~~~~~~~~~~~~
kem.c: kem.c: In function 'crypto_kem_bike2l1nc_ref_ossl_enc':
kem.c: defs.h:47:25: warning: left shift count >= width of type [-Wshift-count-overflow]
kem.c: #define BIT(len) (1UL << (len))
kem.c: ^~
kem.c: defs.h:50:20: note: in expansion of macro 'BIT'
kem.c: #define MASK(len) (BIT(len) - 1)
kem.c: ...
sampling.c: In file included from bike_defs.h:20,
sampling.c: from types.h:15,
sampling.c: from aes.h:15,
sampling.c: from aes_ctr_prf.h:15,
sampling.c: from sampling.h:15,
sampling.c: from sampling.c:12:
sampling.c: sampling.c: In function 'sample_uniform_r_bits':
sampling.c: defs.h:47:25: warning: left shift count >= width of type [-Wshift-count-overflow]
sampling.c: #define BIT(len) (1UL << (len))
sampling.c: ^~
sampling.c: defs.h:50:20: note: in expansion of macro 'BIT'
sampling.c: #define MASK(len) (BIT(len) - 1)
sampling.c: ^~~
sampling.c: aes.h:25:29: note: in expansion of macro 'MASK'
sampling.c: #define MAX_AES_INVOKATION (MASK(32))
sampling.c: ^~~~
sampling.c: sampling.c:79:40: note: in expansion of macro 'MAX_AES_INVOKATION'
sampling.c: init_aes_ctr_prf_state(&prf_state, MAX_AES_INVOKATION, seed);
sampling.c: ^~~~~~~~~~~~~~~~~~

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