Implementation notes: aarch64, supercoplxc, crypto_kem/hqc1922

Computer: supercoplxc
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20190816
Operation: crypto_kem
Primitive: hqc1922
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1962184024602 0 043401 976 1624optgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112320190816
1972312031458 0 051593 976 1624optgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019112320190816
1978784031634 0 051801 976 1624optgcc_-funroll-loops_-O3_-fomit-frame-pointer2019112320190816
2113160020054 0 039623 968 1608optgcc_-funroll-loops_-O2_-fomit-frame-pointer2019112320190816
2163552019906 0 039559 968 1608optgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112320190816
2185040024694 0 043521 976 1624optgcc_-O3_-fomit-frame-pointer2019112320190816
2443656012566 0 030079 968 1608optgcc_-O2_-fomit-frame-pointer2019112320190816
2469440012574 0 030023 968 1608optgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019112320190816
2511904011557 0 027989 952 1600optgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112320190816
2554152011557 0 027989 952 1600optgcc_-funroll-loops_-Os_-fomit-frame-pointer2019112320190816
2615800011569 0 027941 952 1600optgcc_-Os_-fomit-frame-pointer2019112320190816
2682120011569 0 027941 952 1600optgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019112320190816
3003224019818 0 040343 968 1608optgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019112320190816
3014152019818 0 040343 968 1608optgcc_-funroll-loops_-O_-fomit-frame-pointer2019112320190816
3222760012762 0 030071 968 1608optgcc_-O_-fomit-frame-pointer2019112320190816
3255064012762 0 030071 968 1608optgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019112320190816
10260904019470 0 039671 952 1616optgcc2019112320190816
10266248019470 0 039671 952 1616optgcc_-funroll-loops2019112320190816
10319544019470 0 039671 952 1616optcc2019112320190816

Compiler output

Implementation: opt
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
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: 3 errors generated.

Number of similar (compiler,implementation) pairs: 5, 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
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -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 [-Wdeprecated]
gf2x.cpp: In file included from gf2x.cpp:6:
gf2x.cpp: ./gf2x.h:9:10: fatal error: 'NTL/GF2X.h' file not found
gf2x.cpp: #include <NTL/GF2X.h>
gf2x.cpp: ^~~~~~~~~~~~
gf2x.cpp: 1 error generated.

Number of similar (compiler,implementation) pairs: 5, 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
clang++ -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref

Compiler output

Implementation: ref
Security model: unknown
Compiler: g++
gf2x.cpp: In file included from gf2x.cpp:6:
gf2x.cpp: gf2x.h:9:10: fatal error: NTL/GF2X.h: No such file or directory
gf2x.cpp: #include <NTL/GF2X.h>
gf2x.cpp: ^~~~~~~~~~~~
gf2x.cpp: compilation terminated.

Number of similar (compiler,implementation) pairs: 13, namely:
CompilerImplementations
g++ ref
g++ -O2 -fomit-frame-pointer ref
g++ -O3 -fomit-frame-pointer ref
g++ -O -fomit-frame-pointer ref
g++ -Os -fomit-frame-pointer ref
g++ -fno-schedule-insns -O2 -fomit-frame-pointer ref
g++ -fno-schedule-insns -O3 -fomit-frame-pointer ref
g++ -fno-schedule-insns -O -fomit-frame-pointer ref
g++ -fno-schedule-insns -Os -fomit-frame-pointer ref
g++ -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer ref
g++ -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ref
g++ -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer ref
g++ -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ref