Implementation notes: amd64, gemini, crypto_sign/donald1024

Computer: gemini
Microarchitecture: amd64; Goldmont Plus (706a8)
Architecture: amd64
CPU ID: GenuineIntel-000706a8-bfebfbff
SUPERCOP version: 20240107
Operation: crypto_sign
Primitive: donald1024
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
14195532972 0 027860 980 1720T:opensslnewclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231212
14209492940 0 023626 972 1720T:opensslnewclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231212
14211262987 0 026588 980 1720T:opensslnewclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231212
14223093415 0 026573 964 1752T:opensslnewgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231212
14226683415 0 025405 964 1752T:opensslnewgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231212
14235314185 0 025717 964 1752T:opensslnewgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121920231212
14245573442 0 024658 972 1720T:opensslnewclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231212
15646622972 0 025540 980 1720T:opensslnewclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121920231212
15807282931 0 023181 956 1752T:opensslnewgcc_-march=native_-mtune=native_-Os_-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_donald1024_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