Implementation notes: amd64, hertz, crypto_sign/gemss128

Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240107
Operation: crypto_sign
Primitive: gemss128
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
87343499881044 0 078877 820 1800T:optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
93393706480692 0 078557 820 1800T:skylakegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
952977706129056 0 0123793 828 1896T:skylakegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
95482155794642 0 091057 828 1832T:skylakegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
95495226795105 0 091569 828 1832T:optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
1009589902129452 0 0124177 828 1896T:optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
455678977563178 56 01986030 3812 6792T:refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
456393041368170 56 01983441 3852 6760T:refclang++-17_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
459145466040529 56 01963803 3844 6760T:refclang++-17_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
460854280637877 56 01961186 3804 6728T:refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217
462945320899902 56 02001885 3852 6760T:refclang++-17_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023122020231217
465609374353429 56 01976382 3812 6760T:refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023122020231217

Compiler output

Implementation: T:opt
Security model: timingleaks
Compiler: clang-17 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
mul_gf2x.c: mul_gf2x.c:13:12: error: call to undeclared function '_mm_cvtsi128_si64x'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
mul_gf2x.c: 13 | return MUL64LOW(x,y,0);
mul_gf2x.c: | ^
mul_gf2x.c: ./mul_gf2x.h:905:27: note: expanded from macro 'MUL64LOW'
mul_gf2x.c: 905 | #define MUL64LOW(x,y,pos) _mm_cvtsi128_si64x(_mm_clmulepi64_si128(x, y, pos))
mul_gf2x.c: | ^
mul_gf2x.c: mul_gf2x.c:13:12: note: did you mean '_mm_cvtsi128_si64'?
mul_gf2x.c: ./mul_gf2x.h:905:27: note: expanded from macro 'MUL64LOW'
mul_gf2x.c: 905 | #define MUL64LOW(x,y,pos) _mm_cvtsi128_si64x(_mm_clmulepi64_si128(x, y, pos))
mul_gf2x.c: | ^
mul_gf2x.c: /usr/lib/llvm-17/lib/clang/17/include/emmintrin.h:3339:48: note: '_mm_cvtsi128_si64' declared here
mul_gf2x.c: 3339 | static __inline__ long long __DEFAULT_FN_ATTRS _mm_cvtsi128_si64(__m128i __a) {
mul_gf2x.c: | ^
mul_gf2x.c: 1 error generated.

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
clang-17 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt
clang-17 -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt
clang-17 -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt
clang-17 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:skylake
clang-17 -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:skylake
clang-17 -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:skylake

Compiler output

Implementation: T:opt
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: warning: KeccakP-1600-AVX2.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
try.c: /usr/bin/ld: warning: KeccakP-1600-AVX2.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
measure.c: /usr/bin/ld: warning: KeccakP-1600-AVX2.o: missing .note.GNU-stack section implies executable stack
measure.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:skylake
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:skylake
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:skylake

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang++-17 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KAT_int.c: clang++-17: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
bit.c: clang++-17: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
convMQS_gf2.c: clang++-17: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
evalMQnocst_gf2.c: clang++-17: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
printgf2x.c: clang++-17: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
sign.c: clang++-17: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
sign_openHFE.c: clang++-17: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
try.cpp: /usr/bin/ld: warning: KeccakP-1600-AVX2.o: missing .note.GNU-stack section implies executable stack
try.cpp: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
try.cpp: /usr/bin/ld: warning: KeccakP-1600-AVX2.o: missing .note.GNU-stack section implies executable stack
try.cpp: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
measure.cpp: /usr/bin/ld: warning: KeccakP-1600-AVX2.o: missing .note.GNU-stack section implies executable stack
measure.cpp: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
clang++-17 -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang++-17 -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang++-17 -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.cpp: /usr/bin/ld: warning: KeccakP-1600-AVX2.o: missing .note.GNU-stack section implies executable stack
try.cpp: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
try.cpp: /usr/bin/ld: warning: KeccakP-1600-AVX2.o: missing .note.GNU-stack section implies executable stack
try.cpp: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
measure.cpp: /usr/bin/ld: warning: KeccakP-1600-AVX2.o: missing .note.GNU-stack section implies executable stack
measure.cpp: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker

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