Implementation notes: aarch64, hikey960, crypto_kem/hqc1921

Computer: hikey960
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_kem
Primitive: hqc1921
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
703462534970 0 054223 1000 1656optgcc_-funroll-loops_-O3_-fomit-frame-pointer2019120920190816
833710927306 0 044887 1000 1656optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019120920190816
95064099385 0 024577 976 1624optgcc_-Os_-fomit-frame-pointer2019120920190816
973192510282 0 026229 992 1624optgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019120920190816
1046523527426 0 044983 1000 1656optgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019120920190816
1080172817610 0 036749 992 1624optgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019120920190816
1211394817382 0 036309 992 1624optgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019120920190816
1239458027210 0 044807 1000 1656optgcc_-O3_-fomit-frame-pointer2019120920190816
1247085010234 0 026117 992 1624optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019120920190816
1297035012329 32 551127759 3248 6304refg++_-O_-fomit-frame-pointer2019120920190816
1299582917610 0 036749 992 1624optgcc_-funroll-loops_-O_-fomit-frame-pointer2019120920190816
130854509385 0 024577 976 1624optgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019120920190816
1325986231343 32 551149853 3248 6336refg++_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019120920190816
138028509377 0 024593 976 1624optgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019120920190816
1480185012277 32 551131679 3248 6304refg++_-O2_-fomit-frame-pointer2019120920190816
1495480011376 32 551130059 3232 6304refg++_-Os_-fomit-frame-pointer2019120920190816
1534481835038 0 054247 1000 1656optgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019120920190816
156310709385 0 024577 976 1624optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019120920190816
1646233010270 0 026221 992 1624optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019120920190816
1667497517466 0 036357 992 1624optgcc_-funroll-loops_-O2_-fomit-frame-pointer2019120920190816
1695474614065 24 551126921 3368 6304refclang++_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019120920190816
1763093810218 0 026093 992 1624optgcc_-O2_-fomit-frame-pointer2019120920190816
1796135010282 0 026229 992 1624optgcc_-O_-fomit-frame-pointer2019120920190816
1807737812313 32 551127759 3248 6304refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019120920190816
193556259377 0 024593 976 1624optgcc_-funroll-loops_-Os_-fomit-frame-pointer2019120920190816
2122042510326 0 026165 992 1624optgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019120920190816
2173227316289 24 551129129 3368 6304refclang++_-O3_-fomit-frame-pointer_-Qunused-arguments2019120920190816
2319607012329 32 551127759 3248 6304refg++_-fno-schedule-insns_-O_-fomit-frame-pointer2019120920190816
2389724023295 32 551140165 3248 6336refg++_-O3_-fomit-frame-pointer2019120920190816
2456044023423 32 551140293 3248 6336refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019120920190816
2476553214065 24 551126921 3368 6304refclang++_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019120920190816
2723978012289 32 551127527 3248 6304refg++_-fno-schedule-insns_-O2_-fomit-frame-pointer2019120920190816
3118738012301 32 551127599 3248 6304refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019120920190816
3392324011384 32 551130059 3232 6304refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019120920190816
3454534311368 32 551126003 3232 6304refg++_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019120920190816
3456647419817 32 551138455 3248 6304refg++_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019120920190816
3635650019968 32 551138607 3232 6304refg++2019120920190816
3674104619525 32 551137927 3248 6304refg++_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019120920190816
4024730617730 0 036697 976 1624optcc2019120920190816
4037796017730 0 036697 976 1624optgcc2019120920190816
6071320523159 32 551140021 3248 6336refg++_-fno-schedule-insns_-O3_-fomit-frame-pointer2019120920190816
6233837114065 24 551126921 3368 6304refclang++_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019120920190816
6376951611376 32 551130059 3232 6304refg++_-fno-schedule-insns_-Os_-fomit-frame-pointer2019120920190816
11229957217730 0 036697 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