Implementation notes: aarch64, hikey960, crypto_kem/hqc2562

Computer: hikey960
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_kem
Primitive: hqc2562
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
858986117674 0 036829 992 1624optgcc_-funroll-loops_-O_-fomit-frame-pointer2019120920190816
926601210422 0 026373 992 1624optgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019120920190816
1584021517426 0 036357 992 1624optgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019120920190816
160608549489 0 024705 976 1624optgcc_-funroll-loops_-Os_-fomit-frame-pointer2019120920190816
160608549489 0 024705 976 1624optgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019120920190816
1659172517518 0 036405 992 1624optgcc_-funroll-loops_-O2_-fomit-frame-pointer2019120920190816
1800697510422 0 026373 992 1624optgcc_-O_-fomit-frame-pointer2019120920190816
1814017512389 32 551127639 3248 6304refg++_-fno-schedule-insns_-O2_-fomit-frame-pointer2019120920190816
1938242029898 0 047471 1000 1656optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019120920190816
1953045024163 32 551141037 3248 6336refg++_-O3_-fomit-frame-pointer2019120920190816
1987350810454 0 026309 992 1624optgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019120920190816
1989675036594 0 055799 1000 1656optgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019120920190816
2146185013465 24 551126313 3368 6304refclang++_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019120920190816
2259443029738 0 047311 1000 1656optgcc_-O3_-fomit-frame-pointer2019120920190816
2266405017674 0 036829 992 1624optgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019120920190816
2276887512473 32 551136111 3248 6304refg++_-O_-fomit-frame-pointer2019120920190816
230691519497 0 024689 976 1624optgcc_-Os_-fomit-frame-pointer2019120920190816
2320106913465 24 551126313 3368 6304refclang++_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019120920190816
2356139510334 0 026221 992 1624optgcc_-O2_-fomit-frame-pointer2019120920190816
2471441010350 0 026245 992 1624optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019120920190816
2594070011496 32 551134267 3232 6304refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019120920190816
3030300029838 0 047407 1000 1656optgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019120920190816
3078538536642 0 055871 1000 1656optgcc_-funroll-loops_-O3_-fomit-frame-pointer2019120920190816
3502053523903 32 551140749 3248 6336refg++_-fno-schedule-insns_-O3_-fomit-frame-pointer2019120920190816
3628337912373 32 551127679 3248 6304refg++_-O2_-fomit-frame-pointer2019120920190816
3693122511480 32 551126115 3232 6304refg++_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019120920190816
3811918012401 32 551127695 3248 6304refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019120920190816
3832830011488 32 551134267 3232 6304refg++_-fno-schedule-insns_-Os_-fomit-frame-pointer2019120920190816
3855182119549 32 551137959 3248 6304refg++_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019120920190816
3973522531559 32 551150061 3248 6336refg++_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019120920190816
408757509497 0 024689 976 1624optgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019120920190816
410596699497 0 024689 976 1624optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019120920190816
5292931315693 24 551128521 3368 6304refclang++_-O3_-fomit-frame-pointer_-Qunused-arguments2019120920190816
5337114313465 24 551126313 3368 6304refclang++_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019120920190816
5353055412473 32 551136111 3248 6304refg++_-fno-schedule-insns_-O_-fomit-frame-pointer2019120920190816
5382065719877 32 551142615 3248 6304refg++_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019120920190816
5387107510414 0 026373 992 1624optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019120920190816
5966827917914 0 036873 976 1624optgcc2019120920190816
5992222217914 0 036873 976 1624optgcc_-funroll-loops2019120920190816
6179647524355 32 551141213 3248 6336refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019120920190816
6688396012461 32 551127903 3248 6304refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019120920190816
8327286011488 32 551134267 3232 6304refg++_-Os_-fomit-frame-pointer2019120920190816
10324801020152 32 551138799 3232 6304refg++2019120920190816
13624695017914 0 036873 976 1624optcc2019120920190816

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