Implementation notes: aarch64, jetsontx1, crypto_kem/bike2l1nc

Computer: jetsontx1
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20191017
Operation: crypto_kem
Primitive: bike2l1nc
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
303246209539 32 024690 1008 1552ref_osslgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102120190910
3070896510955 32 027274 1008 1568ref_osslgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102120190910
499606068701 32 022942 992 1536ref_osslgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102120190910
516863549758 32 024738 1008 1552ref_osslgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102120190910

Compiler output

Implementation: ref_ntl
Security model: unknown
Compiler: armclang++ -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O2 -fPIC -fPIE
aes.c: clang-7: 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 /opt/arm/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib/clang/7.1.0/include/wmmintrin.h:27:
aes.c: In file included from /opt/arm/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib/clang/7.1.0/include/emmintrin.h:27:
aes.c: In file included from /opt/arm/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib/clang/7.1.0/include/xmmintrin.h:27:
aes.c: /opt/arm/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib/clang/7.1.0/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: /opt/arm/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib/clang/7.1.0/include/mmintrin.h:47:5: note: '__builtin_isless' declared here
aes.c: /opt/arm/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib/clang/7.1.0/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: /opt/arm/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib/clang/7.1.0/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: /opt/arm/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib/clang/7.1.0/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: /opt/arm/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib/clang/7.1.0/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: /opt/arm/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib/clang/7.1.0/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: 2, namely:
CompilerImplementations
armclang++ -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O2 -fPIC -fPIE ref_ntl
armclang++ -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O3 -fPIC -fPIE ref_ntl

Compiler output

Implementation: ref_ntl
Security model: unknown
Compiler: clang++ -mcpu=native -march=armv8a+crypto -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
aes.c: clang-8: 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/local/llvm-8.0.1/lib/clang/8.0.1/include/wmmintrin.h:27:
aes.c: In file included from /usr/local/llvm-8.0.1/lib/clang/8.0.1/include/emmintrin.h:27:
aes.c: In file included from /usr/local/llvm-8.0.1/lib/clang/8.0.1/include/xmmintrin.h:27:
aes.c: /usr/local/llvm-8.0.1/lib/clang/8.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/local/llvm-8.0.1/lib/clang/8.0.1/include/mmintrin.h:47:5: note: '__builtin_isless' declared here
aes.c: /usr/local/llvm-8.0.1/lib/clang/8.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/local/llvm-8.0.1/lib/clang/8.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/local/llvm-8.0.1/lib/clang/8.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/local/llvm-8.0.1/lib/clang/8.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/local/llvm-8.0.1/lib/clang/8.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++ -mcpu=native -march=armv8a+crypto -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref_ntl
clang++ -mcpu=native -march=armv8a+crypto -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref_ntl
clang++ -mcpu=native -march=armv8a+crypto -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref_ntl
clang++ -mcpu=native -march=armv8a+crypto -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: armclang -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O2 -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: 6, namely:
CompilerImplementations
armclang -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O2 -fPIC -fPIE ref_ossl
armclang -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O3 -fPIC -fPIE ref_ossl
clang -mcpu=native -march=armv8a+crypto -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref_ossl
clang -mcpu=native -march=armv8a+crypto -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref_ossl
clang -mcpu=native -march=armv8a+crypto -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref_ossl
clang -mcpu=native -march=armv8a+crypto -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref_ossl

Namespace violations

Implementation: ref_ossl
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
aes_ctr_prf.o aes_ctr_prf T
aes_ctr_prf.o init_aes_ctr_prf_state T
converts_portable.o convert_to_redundant_rep T
converts_portable.o count_ones T
decode.o compute_syndrome T
decode.o decode T
decode.o split_e T
decode_portable.o compute_counter_of_unsat T
decode_portable.o recompute T
openssl_utils.o cyclic_product T
openssl_utils.o mod_inv T
openssl_utils.o ossl_add T
openssl_utils.o ossl_split_polynomial T
parallel_hash.o parallel_hash T
sampling.o generate_sparse_fake_rep T
sampling.o generate_sparse_rep T
sampling.o sample_uniform_r_bits T
utilities.o print_BE T
utilities.o print_LE T

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