Implementation notes: aarch64, pmnod145, crypto_sign/gemss128

Computer: pmnod145
Architecture: aarch64
CPU ID: 431f0af1
SUPERCOP version: 20190910
Operation: crypto_sign
Primitive: gemss128
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1530506032556244 112 71397388 3440 6384refarmclang++_-march=armv8a+crypto_-mcpu=thunderx2t99_-mtune=thunderx2t99_-O3_-fPIC_-fPIE2019091520190910
1530860040043576 112 71383368 3440 6368refarmclang++_-march=armv8a+crypto_-mcpu=thunderx2t99_-mtune=thunderx2t99_-O2_-fPIC_-fPIE2019091520190910
1532355675038112 112 71376955 3416 6432refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091520190910
1532992567528611 112 71364095 3400 6368refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091520190910
1535318932535768 112 71372055 3416 6432refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091520190910
1543504772532296 112 71365931 3416 6432refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091520190910

Compiler output

Implementation: crypto_sign/gemss128/opt
Compiler: armclang++ -march=armv8a+crypto -mcpu=thunderx2t99 -mtune=thunderx2t99 -O2 -fPIC -fPIE
KAT_int.c: clang-7: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
arith.c: clang-7: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
arith.c: In file included from arith.c:1:
arith.c: In file included from ./arith.h:5:
arith.c: In file included from ./config_HFE.h:483:
arith.c: ./mul.h:23:14: fatal error: 'gf2x/gf2x_mul1.h' file not found
arith.c: #include <gf2x/gf2x_mul1.h>
arith.c: ^~~~~~~~~~~~~~~~~~
arith.c: 1 error generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
armclang++ -march=armv8a+crypto -mcpu=thunderx2t99 -mtune=thunderx2t99 -O2 -fPIC -fPIE opt
armclang++ -march=armv8a+crypto -mcpu=thunderx2t99 -mtune=thunderx2t99 -O3 -fPIC -fPIE opt

Compiler output

Implementation: crypto_sign/gemss128/sse2
Compiler: armclang++ -march=armv8a+crypto -mcpu=thunderx2t99 -mtune=thunderx2t99 -O2 -fPIC -fPIE
KAT_int.c: clang-7: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
arith.c: clang-7: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
bit.c: clang-7: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
changeEquationMQS.c: clang-7: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
changeVariableMQS.c: clang-7: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
determinant.c: clang-7: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
determinantnv.c: clang-7: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
encrypt_keypairHFE.c: clang-7: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
evaluateMQS.c: clang-7: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
evaluateMQSnoconst.c: clang-7: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
frobeniusMap.c: clang-7: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
genCanonicalBasis.c: clang-7: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
genHFEtab.c: clang-7: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
genSecretMQS.c: clang-7: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
initMatrixIdn.c: clang-7: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
init_list_differences.c: clang-7: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
invMatrix.c: clang-7: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
invMatrixnv.c: clang-7: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
matVecProduct.c: clang-7: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
mul.c: clang-7: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
printgf2x.c: clang-7: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
rem.c: clang-7: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
sign.c: clang-7: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
signHFE.c: clang-7: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
signHFE.c: signHFE.c:65:17: error: use of undeclared identifier 'malloc'
signHFE.c: UINT* F=MALLOC_HFEPOLY_EVAL;
signHFE.c: ^
signHFE.c: ./config_HFE.h:462:36: note: expanded from macro 'MALLOC_HFEPOLY_EVAL'
signHFE.c: #define MALLOC_HFEPOLY_EVAL (UINT*)malloc(NB_UINT_HFEPOLY_EVAL*sizeof(UINT));
signHFE.c: ^
signHFE.c: signHFE.c:222:21: error: use of undeclared identifier 'free'
signHFE.c: free(F);
signHFE.c: ^
signHFE.c: signHFE.c:279:9: error: use of undeclared identifier 'free'
signHFE.c: free(F);
signHFE.c: ^
signHFE.c: 3 errors generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
armclang++ -march=armv8a+crypto -mcpu=thunderx2t99 -mtune=thunderx2t99 -O2 -fPIC -fPIE sse2
armclang++ -march=armv8a+crypto -mcpu=thunderx2t99 -mtune=thunderx2t99 -O3 -fPIC -fPIE sse2

Compiler output

Implementation: crypto_sign/gemss128/ref
Compiler: armclang++ -march=armv8a+crypto -mcpu=thunderx2t99 -mtune=thunderx2t99 -O2 -fPIC -fPIE
KAT_int.c: clang-7: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
bit.c: clang-7: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
printgf2x.c: clang-7: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
sign.c: clang-7: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
sign_openHFE.c: clang-7: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
armclang++ -march=armv8a+crypto -mcpu=thunderx2t99 -mtune=thunderx2t99 -O2 -fPIC -fPIE ref
armclang++ -march=armv8a+crypto -mcpu=thunderx2t99 -mtune=thunderx2t99 -O3 -fPIC -fPIE ref

Compiler output

Implementation: crypto_sign/gemss128/opt
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
arith.c: In file included from config_HFE.h:483,
arith.c: from arith.h:5,
arith.c: from arith.c:1:
arith.c: mul.h:23:14: fatal error: gf2x/gf2x_mul1.h: No such file or directory
arith.c: 23 | #include <gf2x/gf2x_mul1.h>
arith.c: | ^~~~~~~~~~~~~~~~~~
arith.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE opt
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE opt
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE opt
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE opt

Compiler output

Implementation: crypto_sign/gemss128/sse2
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
signHFE.c: In file included from signHFE.h:4,
signHFE.c: from signHFE.c:1:
signHFE.c: signHFE.c: In function 'int signHFE(uint64_t*, const unsigned char*, size_t, const uint64_t*)':
signHFE.c: config_HFE.h:462:36: error: 'malloc' was not declared in this scope
signHFE.c: 462 | #define MALLOC_HFEPOLY_EVAL (UINT*)malloc(NB_UINT_HFEPOLY_EVAL*sizeof(UINT));
signHFE.c: | ^~~~~~
signHFE.c: signHFE.c:65:17: note: in expansion of macro 'MALLOC_HFEPOLY_EVAL'
signHFE.c: 65 | UINT* F=MALLOC_HFEPOLY_EVAL;
signHFE.c: | ^~~~~~~~~~~~~~~~~~~
signHFE.c: signHFE.c:18:1: note: 'malloc' is defined in header '<cstdlib>'; did you forget to '#include <cstdlib>'?
signHFE.c: 17 | #include "init_list_differences.h"
signHFE.c: +++ |+#include <cstdlib>
signHFE.c: 18 | #endif
signHFE.c: signHFE.c:222:21: error: 'free' was not declared in this scope
signHFE.c: 222 | free(F);
signHFE.c: | ^~~~
signHFE.c: signHFE.c:222:21: note: 'free' is defined in header '<cstdlib>'; did you forget to '#include <cstdlib>'?
signHFE.c: signHFE.c:279:9: error: 'free' was not declared in this scope
signHFE.c: 279 | free(F);
signHFE.c: | ^~~~
signHFE.c: signHFE.c:279:9: note: 'free' is defined in header '<cstdlib>'; did you forget to '#include <cstdlib>'?

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE sse2
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE sse2
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE sse2
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE sse2