Implementation notes: aarch64, hikey960, crypto_kem/hqc1922

Computer: hikey960
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_kem
Primitive: hqc1922
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
406841426846 0 044447 1000 1656optgcc_-O3_-fomit-frame-pointer2019120920190816
535644910258 0 026133 992 1624optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019120920190816
744255034638 0 053895 1000 1656optgcc_-funroll-loops_-O3_-fomit-frame-pointer2019120920190816
940713727030 0 044615 1000 1656optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019120920190816
96403509393 0 024609 976 1624optgcc_-funroll-loops_-Os_-fomit-frame-pointer2019120920190816
96819759401 0 024593 976 1624optgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019120920190816
97069509401 0 024593 976 1624optgcc_-Os_-fomit-frame-pointer2019120920190816
1033965010274 0 026221 992 1624optgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019120920190816
110031139393 0 024609 976 1624optgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019120920190816
1219653017454 0 036357 992 1624optgcc_-funroll-loops_-O2_-fomit-frame-pointer2019120920190816
1262070034694 0 053911 1000 1656optgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019120920190816
1312619317578 0 036717 992 1624optgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019120920190816
1400821410342 0 026189 992 1624optgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019120920190816
1420706010234 0 026117 992 1624optgcc_-O2_-fomit-frame-pointer2019120920190816
1729860519785 32 551138423 3248 6304refg++_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019120920190816
1798248114053 24 551126905 3368 6304refclang++_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019120920190816
1925994612305 32 551127543 3248 6304refg++_-fno-schedule-insns_-O2_-fomit-frame-pointer2019120920190816
1981229012313 32 551127759 3248 6304refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019120920190816
2077753614053 24 551126905 3368 6304refclang++_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019120920190816
2155746216261 24 551129097 3368 6304refclang++_-O3_-fomit-frame-pointer_-Qunused-arguments2019120920190816
2181913823435 32 551140309 3248 6336refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019120920190816
2203194912293 32 551127599 3248 6304refg++_-O2_-fomit-frame-pointer2019120920190816
2277537612321 32 551127759 3248 6304refg++_-fno-schedule-insns_-O_-fomit-frame-pointer2019120920190816
2331901912321 32 551127759 3248 6304refg++_-O_-fomit-frame-pointer2019120920190816
239926509401 0 024593 976 1624optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019120920190816
2567738417578 0 036717 992 1624optgcc_-funroll-loops_-O_-fomit-frame-pointer2019120920190816
2703099127058 0 044623 1000 1656optgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019120920190816
2728396311392 32 551125979 3232 6304refg++_-fno-schedule-insns_-Os_-fomit-frame-pointer2019120920190816
2744752510274 0 026221 992 1624optgcc_-O_-fomit-frame-pointer2019120920190816
2976187510270 0 026221 992 1624optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019120920190816
3272441017374 0 036309 992 1624optgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019120920190816
3371162923243 32 551140117 3248 6336refg++_-O3_-fomit-frame-pointer2019120920190816
3466828723103 32 551144053 3248 6336refg++_-fno-schedule-insns_-O3_-fomit-frame-pointer2019120920190816
3555194731319 32 551153917 3248 6336refg++_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019120920190816
3618011411392 32 551125979 3232 6304refg++_-Os_-fomit-frame-pointer2019120920190816
3624927012325 32 551127615 3248 6304refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019120920190816
3692162011384 32 551130115 3232 6304refg++_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019120920190816
3890724011400 32 551125979 3232 6304refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019120920190816
4122658119956 32 551138599 3232 6304refg++2019120920190816
4478619419517 32 551137927 3248 6304refg++_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019120920190816
4701755317726 0 036689 976 1624optcc2019120920190816
5144973014053 24 551126905 3368 6304refclang++_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019120920190816
8116875017726 0 036689 976 1624optgcc2019120920190816
8618872517726 0 036689 976 1624optgcc_-funroll-loops2019120920190816

Compiler output

Implementation: opt
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
gf2x_avx2.c: gf2x_avx2.c:76:42: error: cannot convert between vector values of different size ('v8uint32' (vector of 8 'uint32_t' values) and 'int')
gf2x_avx2.c: const v8uint32 rightPerm = countVector + distInts;
gf2x_avx2.c: ~~~~~~~~~~~ ^ ~~~~~~~~
gf2x_avx2.c: gf2x_avx2.c:77:41: error: cannot convert between vector values of different size ('v8uint32' (vector of 8 'uint32_t' values) and 'int')
gf2x_avx2.c: const v8uint32 leftPerm = countVector + distInts + 1;
gf2x_avx2.c: ~~~~~~~~~~~ ^ ~~~~~~~~
gf2x_avx2.c: gf2x_avx2.c:87:19: error: use of unknown builtin '__builtin_shuffle' [-Wimplicit-function-declaration]
gf2x_avx2.c: rightVector = __builtin_shuffle(
gf2x_avx2.c: ^
gf2x_avx2.c: gf2x_avx2.c:87:17: error: assigning to 'v8uint32' (vector of 8 'uint32_t' values) from incompatible type 'int'
gf2x_avx2.c: rightVector = __builtin_shuffle(
gf2x_avx2.c: ^ ~~~~~~~~~~~~~~~~~~
gf2x_avx2.c: gf2x_avx2.c:89:16: error: assigning to 'v8uint32' (vector of 8 'uint32_t' values) from incompatible type 'int'
gf2x_avx2.c: leftVector = __builtin_shuffle(
gf2x_avx2.c: ^ ~~~~~~~~~~~~~~~~~~
gf2x_avx2.c: gf2x_avx2.c:92:26: error: cannot convert between vector values of different size ('v8uint32' (vector of 8 'uint32_t' values) and 'int')
gf2x_avx2.c: shifted = rightVector>>distBits | leftVector<<minDistBits;
gf2x_avx2.c: ~~~~~~~~~~~^ ~~~~~~~~
gf2x_avx2.c: gf2x_avx2.c:92:49: error: cannot convert between vector values of different size ('v8uint32' (vector of 8 'uint32_t' values) and 'int')
gf2x_avx2.c: shifted = rightVector>>distBits | leftVector<<minDistBits;
gf2x_avx2.c: ~~~~~~~~~~^ ~~~~~~~~~~~
gf2x_avx2.c: 7 errors generated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments opt
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments opt
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments opt
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments opt

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang++ -O3 -fomit-frame-pointer -Qunused-arguments
rng.c: clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang++ -O3 -fomit-frame-pointer -Qunused-arguments ref
clang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments ref
clang++ -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ref
clang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref