Implementation notes: amd64, comet, crypto_sign/redgemss192

Computer: comet
Microarchitecture: amd64; Comet Lake (806ec)
Architecture: amd64
CPU ID: GenuineIntel-000806ec-bfebfbff
SUPERCOP version: 20240107
Operation: crypto_sign
Primitive: redgemss192
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
9763162116350 0 0113244 804 1792T:skylakegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
9763841116136 0 0113020 804 1792T:optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
991018796695 0 094692 804 1792T:skylakegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
992853396481 0 094468 804 1792T:optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
1009132188106 0 086532 796 1760T:skylakegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
1014510687924 0 086276 796 1760T:optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
1041086295991 0 093972 804 1792T:skylakegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
1052380095764 0 093748 804 1792T:optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
9056555391513 112 71765506 4732 6944T:refclang++_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222
9120739542312 112 71728184 4724 6944T:refclang++_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222
9148999542160 112 71728008 4668 6944T:refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
9149134545049 112 71732378 4732 6880T:refclang++_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222
9158330858796 112 71746168 4668 6944T:refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
9180696162109 112 71749186 4732 6880T:refclang++_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024011320231222
9195559751135 112 71737396 4668 6944T:refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222
9331227837183 112 71723024 4660 6912T:refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011320231222

Compiler output

Implementation: T:opt
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
mul_gf2x.c: mul_gf2x.c:13:12: warning: implicit declaration of function '_mm_cvtsi128_si64x' is invalid in C99 [-Wimplicit-function-declaration]
mul_gf2x.c: return MUL64LOW(x,y,0);
mul_gf2x.c: ^
mul_gf2x.c: ./mul_gf2x.h:905:27: note: expanded from macro 'MUL64LOW'
mul_gf2x.c: #define MUL64LOW(x,y,pos) _mm_cvtsi128_si64x(_mm_clmulepi64_si128(x, y, pos))
mul_gf2x.c: ^
mul_gf2x.c: 1 warning generated.
sqr_gf2x.c: sqr_gf2x.c:27:12: warning: implicit declaration of function '_mm_cvtsi128_si64x' is invalid in C99 [-Wimplicit-function-declaration]
sqr_gf2x.c: return _mm_cvtsi128_si64x(_mm_clmulepi64_si128(x,x,0));
sqr_gf2x.c: ^
sqr_gf2x.c: sqr_gf2x.c:316:12: warning: implicit declaration of function '_mm_cvtsi128_si64x' is invalid in C99 [-Wimplicit-function-declaration]
sqr_gf2x.c: return SQR64LOW(x,0);
sqr_gf2x.c: ^
sqr_gf2x.c: ./sqr_gf2x.h:250:25: note: expanded from macro 'SQR64LOW'
sqr_gf2x.c: #define SQR64LOW(x,pos) _mm_cvtsi128_si64x(_mm_clmulepi64_si128(x, x, pos))
sqr_gf2x.c: ^
sqr_gf2x.c: 2 warnings generated.
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: libcrypto_sign_redgemss192.a(mul_gf2x.o): in function `RedGeMSS_192U_mul64low':
try.c: mul_gf2x.c:(.text+0x...): undefined reference to `_mm_cvtsi128_si64x'
try.c: /usr/bin/ld: libcrypto_sign_redgemss192.a(sqr_gf2x.o): in function `RedGeMSS_192U_sqr64low':
try.c: sqr_gf2x.c:(.text+0x...): undefined reference to `_mm_cvtsi128_si64x'
try.c: /usr/bin/ld: libcrypto_sign_redgemss192.a(sqr_gf2x.o): in function `RedGeMSS_192U_old_square64low':
try.c: sqr_gf2x.c:(.text+0x...): undefined reference to `_mm_cvtsi128_si64x'
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

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

Compiler output

Implementation: T:opt
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
arith_gf2n.c: In file included from arith_gf2n.c:1:
arith_gf2n.c: In file included from ./arith_gf2n.h:9:
arith_gf2n.c: In file included from ./tools_gf2n.h:162:
arith_gf2n.c: ./mul_gf2x.h:17:14: fatal error: 'gf2x/gf2x_mul1.h' file not found
arith_gf2n.c: #include <gf2x/gf2x_mul1.h>
arith_gf2n.c: ^~~~~~~~~~~~~~~~~~
arith_gf2n.c: 1 error generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:opt 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: 8, 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 -O -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 -O -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++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KAT_int.c: clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
bit.c: clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
convMQS_gf2.c: clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
evalMQnocst_gf2.c: clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
printgf2x.c: clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
sign.c: clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
sign_openHFE.c: clang: 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: 4, namely:
CompilerImplementations
clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang++ -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang++ -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: 4, 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 -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref