Implementation notes: aarch64, hikey960, crypto_kem/hqc2561

Computer: hikey960
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_kem
Primitive: hqc2561
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
835890310318 0 026165 992 1624optgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019120920190816
868757410266 0 026213 992 1624optgcc_-O_-fomit-frame-pointer2019120920190816
1267897536306 0 055559 1000 1656optgcc_-funroll-loops_-O3_-fomit-frame-pointer2019120920190816
1398600017414 0 036309 992 1624optgcc_-funroll-loops_-O2_-fomit-frame-pointer2019120920190816
1508490017514 0 036653 992 1624optgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019120920190816
1534711028658 0 046239 1000 1656optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019120920190816
153679509385 0 024585 976 1624optgcc_-Os_-fomit-frame-pointer2019120920190816
161088759377 0 024601 976 1624optgcc_-funroll-loops_-Os_-fomit-frame-pointer2019120920190816
1627365636318 0 055535 1000 1656optgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019120920190816
1723275011372 32 551130059 3232 6304refg++_-Os_-fomit-frame-pointer2019120920190816
174373299377 0 024601 976 1624optgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019120920190816
1968030023295 32 551140165 3248 6336refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019120920190816
2038792523095 32 551139981 3248 6336refg++_-O3_-fomit-frame-pointer2019120920190816
2180945010266 0 026213 992 1624optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019120920190816
2239209510210 0 026093 992 1624optgcc_-O2_-fomit-frame-pointer2019120920190816
2290658710266 0 026213 992 1624optgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019120920190816
2393080219964 32 551138607 3232 6304refg++2019120920190816
2719039010234 0 026109 992 1624optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019120920190816
2734351413473 24 551126329 3368 6304refclang++_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019120920190816
2851655028482 0 046079 1000 1656optgcc_-O3_-fomit-frame-pointer2019120920190816
2873790028706 0 046271 1000 1656optgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019120920190816
2966514112261 32 551127567 3248 6304refg++_-O2_-fomit-frame-pointer2019120920190816
3021975017290 0 036229 992 1624optgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019120920190816
3042376012273 32 551131607 3248 6304refg++_-fno-schedule-insns_-O2_-fomit-frame-pointer2019120920190816
3138529813473 24 551126329 3368 6304refclang++_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019120920190816
3220364412313 32 551127743 3248 6304refg++_-fno-schedule-insns_-O_-fomit-frame-pointer2019120920190816
3414356011372 32 551130059 3232 6304refg++_-fno-schedule-insns_-Os_-fomit-frame-pointer2019120920190816
3554810511364 32 551126003 3232 6304refg++_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019120920190816
3668149531183 32 551153773 3248 6336refg++_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019120920190816
3836078015697 24 551128537 3368 6304refclang++_-O3_-fomit-frame-pointer_-Qunused-arguments2019120920190816
384115509385 0 024585 976 1624optgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019120920190816
3991383019721 32 551138359 3248 6304refg++_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019120920190816
3992606413473 24 551126329 3368 6304refclang++_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019120920190816
4198801817514 0 036653 992 1624optgcc_-funroll-loops_-O_-fomit-frame-pointer2019120920190816
4220775012301 32 551127599 3248 6304refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019120920190816
4696965017726 0 036689 976 1624optgcc2019120920190816
4875981011376 32 551130059 3232 6304refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019120920190816
4924370019433 32 551137847 3248 6304refg++_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019120920190816
541152049385 0 024585 976 1624optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019120920190816
6581538112313 32 551127743 3248 6304refg++_-O_-fomit-frame-pointer2019120920190816
7187613622967 32 551139821 3248 6336refg++_-fno-schedule-insns_-O3_-fomit-frame-pointer2019120920190816
8533658312309 32 551127743 3248 6304refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019120920190816
12897090017726 0 036689 976 1624optcc2019120920190816
12927892517726 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