Implementation notes: aarch64, hikey960, crypto_kem/hqc1281

Computer: hikey960
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_kem
Primitive: hqc1281
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
343781228562 0 046143 1000 1656optgcc_-O3_-fomit-frame-pointer2019120920190816
351315028646 0 046207 1000 1656optgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019120920190816
417132617434 0 036365 992 1624optgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019120920190816
417770135754 0 054983 1000 1656optgcc_-funroll-loops_-O3_-fomit-frame-pointer2019120920190816
435449817662 0 036813 992 1624optgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019120920190816
454545017662 0 036813 992 1624optgcc_-funroll-loops_-O_-fomit-frame-pointer2019120920190816
478243728538 0 046103 1000 1656optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019120920190816
486031010370 0 026221 992 1624optgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019120920190816
495337510318 0 026269 992 1624optgcc_-O_-fomit-frame-pointer2019120920190816
55429929389 0 024601 976 1624optgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019120920190816
560805017526 0 036405 992 1624optgcc_-funroll-loops_-O2_-fomit-frame-pointer2019120920190816
65363879397 0 024593 976 1624optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019120920190816
677024710250 0 026141 992 1624optgcc_-O2_-fomit-frame-pointer2019120920190816
708656919533 32 551137935 3248 6304refg++_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019120920190816
724985419845 32 551142591 3248 6304refg++_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019120920190816
751303113381 24 551126233 3368 6304refclang++_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019120920190816
763789612349 32 551131887 3248 6304refg++_-fno-schedule-insns_-O_-fomit-frame-pointer2019120920190816
793051535690 0 054895 1000 1656optgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019120920190816
828719415593 24 551128425 3368 6304refclang++_-O3_-fomit-frame-pointer_-Qunused-arguments2019120920190816
933606024171 32 551141029 3248 6336refg++_-O3_-fomit-frame-pointer2019120920190816
940521624195 32 551145181 3248 6336refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019120920190816
997575312349 32 551131887 3248 6304refg++_-O_-fomit-frame-pointer2019120920190816
1033690112301 32 551127623 3248 6304refg++_-O2_-fomit-frame-pointer2019120920190816
1039792510234 0 026117 992 1624optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019120920190816
105727509389 0 024601 976 1624optgcc_-funroll-loops_-Os_-fomit-frame-pointer2019120920190816
1060007811364 32 551125955 3232 6304refg++_-fno-schedule-insns_-Os_-fomit-frame-pointer2019120920190816
1106392510278 0 026229 992 1624optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019120920190816
113150349397 0 024585 976 1624optgcc_-Os_-fomit-frame-pointer2019120920190816
114302259397 0 024585 976 1624optgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019120920190816
1261805317578 0 036529 976 1624optcc2019120920190816
1341626419816 32 551138439 3232 6304refg++2019120920190816
1343739531519 32 551150021 3248 6336refg++_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019120920190816
1351980010318 0 026269 992 1624optgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019120920190816
1368820013381 24 551126233 3368 6304refclang++_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019120920190816
1387154123895 32 551140741 3248 6336refg++_-fno-schedule-insns_-O3_-fomit-frame-pointer2019120920190816
1502029913381 24 551126233 3368 6304refclang++_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019120920190816
1517782111356 32 551130091 3232 6304refg++_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019120920190816
1522584611364 32 551125955 3232 6304refg++_-Os_-fomit-frame-pointer2019120920190816
1534110611364 32 551125963 3232 6304refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019120920190816
1536795017578 0 036529 976 1624optgcc_-funroll-loops2019120920190816
1539873612249 32 551131679 3248 6304refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019120920190816
1562157212301 32 551127743 3248 6304refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019120920190816
1621131912301 32 551127567 3248 6304refg++_-fno-schedule-insns_-O2_-fomit-frame-pointer2019120920190816
4058508717578 0 036529 976 1624optgcc2019120920190816

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