Implementation notes: aarch64, hikey960, crypto_kem/bike1l1nc

Computer: hikey960
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_kem
Primitive: bike1l1nc
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1446093115310 32 033382 1136 1568ref_osslgcc_-funroll-loops_-O2_-fomit-frame-pointer2019120820190816
1850328910454 32 028414 1136 1600ref_osslgcc_-O3_-fomit-frame-pointer2019120820190816
2193212716666 32 034686 1136 1568ref_osslgcc_-funroll-loops_-O_-fomit-frame-pointer2019120820190816
224587527453 32 023242 1120 1568ref_osslgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019120820190816
225450547485 32 023242 1120 1568ref_osslgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019120820190816
2306026810462 32 028406 1136 1600ref_osslgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019120820190816
2366797515330 32 033470 1136 1568ref_osslgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019120820190816
270220868614 32 025006 1136 1568ref_osslgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019120820190816
2730928017234 32 035574 1136 1600ref_osslgcc_-funroll-loops_-O3_-fomit-frame-pointer2019120820190816
3075926117218 32 035550 1136 1600ref_osslgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019120820190816
320096258350 32 024662 1136 1568ref_osslgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019120820190816
3350798710526 32 028478 1136 1600ref_osslgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019120820190816
341949928418 32 028870 1136 1568ref_osslgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019120820190816
3747082516666 32 034686 1136 1568ref_osslgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019120820190816
419547147481 32 023266 1120 1568ref_osslgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019120820190816
433482758354 32 024710 1136 1568ref_osslgcc_-O2_-fomit-frame-pointer2019120820190816
495230488606 32 024990 1136 1568ref_osslgcc_-O_-fomit-frame-pointer2019120820190816
499916257485 32 023242 1120 1568ref_osslgcc_-Os_-fomit-frame-pointer2019120820190816
509676097481 32 023266 1120 1568ref_osslgcc_-funroll-loops_-Os_-fomit-frame-pointer2019120820190816
550282508606 32 024990 1136 1568ref_osslgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019120820190816
11924913513484 32 032674 1120 1568ref_osslgcc_-funroll-loops2019120820190816
12097890013484 32 032674 1120 1568ref_osslgcc2019120820190816
14573038013484 32 032674 1120 1568ref_osslcc2019120820190816

Compiler output

Implementation: ref_ntl
Security model: unknown
Compiler: clang++ -O3 -fomit-frame-pointer -Qunused-arguments
aes.c: clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
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/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/wmmintrin.h:27:
aes.c: In file included from /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/emmintrin.h:27:
aes.c: In file included from /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/xmmintrin.h:27:
aes.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:39:5: error: use of undeclared identifier '__builtin_ia32_emms'; did you mean '__builtin_isless'?
aes.c: __builtin_ia32_emms();
aes.c: ^
aes.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:39:5: note: '__builtin_isless' declared here
aes.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:39:25: error: too few arguments to function call, expected 2, have 0
aes.c: __builtin_ia32_emms();
aes.c: ^
aes.c: /usr/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:45: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/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:51: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/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:69: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/lib/llvm-3.8/bin/../lib/clang/3.8.1/include/mmintrin.h:75: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++ -O3 -fomit-frame-pointer -Qunused-arguments ref_ntl
clang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments ref_ntl
clang++ -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ref_ntl
clang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref_ntl

Compiler output

Implementation: ref_ntl
Security model: unknown
Compiler: g++
aes.c: In file included from aes.c:12:0:
aes.c: aes.h:21:25: 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: 17, namely:
CompilerImplementations
g++ ref_ntl
g++ -O2 -fomit-frame-pointer ref_ntl
g++ -O3 -fomit-frame-pointer ref_ntl
g++ -O -fomit-frame-pointer ref_ntl
g++ -Os -fomit-frame-pointer ref_ntl
g++ -fno-schedule-insns -O2 -fomit-frame-pointer ref_ntl
g++ -fno-schedule-insns -O3 -fomit-frame-pointer ref_ntl
g++ -fno-schedule-insns -O -fomit-frame-pointer ref_ntl
g++ -fno-schedule-insns -Os -fomit-frame-pointer ref_ntl
g++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer ref_ntl
g++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ref_ntl
g++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer ref_ntl
g++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ref_ntl
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv ref_ntl
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv ref_ntl
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv ref_ntl
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv ref_ntl

Compiler output

Implementation: ref_ossl
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
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: 4, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref_ossl
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments ref_ossl
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ref_ossl
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref_ossl