Implementation notes: amd64, gemini, crypto_sign/donald2048

Computer: gemini
Microarchitecture: amd64; Goldmont Plus (706a8)
Architecture: amd64
CPU ID: GenuineIntel-000706a8-bfebfbff
SUPERCOP version: 20240107
Operation: crypto_sign
Primitive: donald2048
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
43327763174 0 023818 972 1720T:opensslnewclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231212
43333333725 0 024850 972 1720T:opensslnewclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231212
43384523668 0 027149 964 1752T:opensslnewgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231212
43384963668 0 025981 964 1752T:opensslnewgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231212
43389914444 0 026293 964 1752T:opensslnewgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231212
43399053255 0 028052 980 1720T:opensslnewclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231212
43447253270 0 026780 980 1720T:opensslnewclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231212
43480303187 0 023437 956 1752T:opensslnewgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231212
43566573255 0 025732 980 1720T:opensslnewclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231212
477594761287 10080 4561708632 151628 11640T:cryptoppg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231212
477606776840 10080 4561723253 151628 11640T:cryptoppg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231212
477922650609 24400 4561719374 165876 11608T:cryptoppg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231212
480060750240 12080 3921399808 153508 11416T:cryptoppclang++_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231212
480115163088 12304 3921419621 153492 11416T:cryptoppclang++_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231212
481021561904 12304 3921417053 153492 11416T:cryptoppclang++_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231212
529248167576 17384 3921425675 158540 11416T:cryptoppclang++_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231212
531372080443 9720 4561725143 151428 11640T:cryptoppg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231212

Compiler output

Implementation: T:openssl
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
keypair.c: keypair.c:18:4: error: incomplete definition of type 'struct dsa_st'
keypair.c: x->p = BN_new(); if (!x->p) goto error;
keypair.c: ~^
keypair.c: /usr/include/openssl/ossl_typ.h:107:16: note: forward declaration of 'struct dsa_st'
keypair.c: typedef struct dsa_st DSA;
keypair.c: ^
keypair.c: keypair.c:18:26: error: incomplete definition of type 'struct dsa_st'
keypair.c: x->p = BN_new(); if (!x->p) goto error;
keypair.c: ~^
keypair.c: /usr/include/openssl/ossl_typ.h:107:16: note: forward declaration of 'struct dsa_st'
keypair.c: typedef struct dsa_st DSA;
keypair.c: ^
keypair.c: keypair.c:19:4: error: incomplete definition of type 'struct dsa_st'
keypair.c: x->q = BN_new(); if (!x->q) goto error;
keypair.c: ~^
keypair.c: /usr/include/openssl/ossl_typ.h:107:16: note: forward declaration of 'struct dsa_st'
keypair.c: typedef struct dsa_st DSA;
keypair.c: ^
keypair.c: keypair.c:19:26: error: incomplete definition of type 'struct dsa_st'
keypair.c: x->q = BN_new(); if (!x->q) goto error;
keypair.c: ~^
keypair.c: /usr/include/openssl/ossl_typ.h:107:16: note: forward declaration of 'struct dsa_st'
keypair.c: typedef struct dsa_st DSA;
keypair.c: ^
keypair.c: keypair.c:20:4: error: incomplete definition of type 'struct dsa_st'
keypair.c: ...

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

Compiler output

Implementation: T:openssl
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
keypair.c: keypair.c: In function 'crypto_sign_donald2048_openssl_timingleaks_keypair':
keypair.c: keypair.c:18:4: error: invalid use of incomplete typedef 'DSA' {aka 'struct dsa_st'}
keypair.c: 18 | x->p = BN_new(); if (!x->p) goto error;
keypair.c: | ^~
keypair.c: keypair.c:18:26: error: invalid use of incomplete typedef 'DSA' {aka 'struct dsa_st'}
keypair.c: 18 | x->p = BN_new(); if (!x->p) goto error;
keypair.c: | ^~
keypair.c: keypair.c:19:4: error: invalid use of incomplete typedef 'DSA' {aka 'struct dsa_st'}
keypair.c: 19 | x->q = BN_new(); if (!x->q) goto error;
keypair.c: | ^~
keypair.c: keypair.c:19:26: error: invalid use of incomplete typedef 'DSA' {aka 'struct dsa_st'}
keypair.c: 19 | x->q = BN_new(); if (!x->q) goto error;
keypair.c: | ^~
keypair.c: keypair.c:20:4: error: invalid use of incomplete typedef 'DSA' {aka 'struct dsa_st'}
keypair.c: 20 | x->g = BN_new(); if (!x->g) goto error;
keypair.c: | ^~
keypair.c: keypair.c:20:26: error: invalid use of incomplete typedef 'DSA' {aka 'struct dsa_st'}
keypair.c: 20 | x->g = BN_new(); if (!x->g) goto error;
keypair.c: | ^~
keypair.c: keypair.c:22:38: error: invalid use of incomplete typedef 'DSA' {aka 'struct dsa_st'}
keypair.c: 22 | if (!BN_bin2bn(prime,sizeof prime,x->p)) goto error;
keypair.c: | ^~
keypair.c: keypair.c:23:42: error: invalid use of incomplete typedef 'DSA' {aka 'struct dsa_st'}
keypair.c: 23 | if (!BN_bin2bn(prime_q,sizeof prime_q,x->q)) goto error;
keypair.c: | ^~
keypair.c: ...

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