Implementation notes: aarch64, pi3bplus, crypto_dh/claus

Computer: pi3bplus
Microarchitecture: aarch64; Cortex-A53 (410fd034)
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20230530
Operation: crypto_dh
Primitive: claus
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
225773751304 0 022579 1024 1600T:opensslnewgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023060820230530
225786251196 0 020395 1008 1568T:opensslnewgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023060820230530
226075001304 0 021347 1024 1584T:opensslnewgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023060820230530
226206251496 0 021643 1024 1584T:opensslnewgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023060820230530
22626750976 0 023408 960 1584T:opensslnewclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023060820230530
249847501805 16 0199268 1120 1568T:gmpg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023060820230530
250781251811 16 0201362 1136 1600T:gmpg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023060820230530
250922501815 16 0200154 1136 1584T:gmpg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023060820230530
251586251737 16 0200172 1136 1584T:gmpg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023060820230530
252481252589 336 2393841 2696 3088T:ntlg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023060820230530
253276253539 336 2396015 2688 3136T:ntlg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023060820230530
253565003479 336 2394799 2688 3120T:ntlg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023060820230530
253637503442 336 2394790 2688 3120T:ntlg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023060820230530

Compiler output

Implementation: T:cryptopp
Security model: timingleaks
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
keypair.cpp: keypair.cpp:1:10: fatal error: cryptopp/dh.h: No such file or directory
keypair.cpp: #include <cryptopp/dh.h>
keypair.cpp: ^~~~~~~~~~~~~~~
keypair.cpp: compilation terminated.

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

Compiler output

Implementation: T:openssl
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
keypair.c: keypair.c:25:5: error: incomplete definition of type 'struct dh_st'
keypair.c: dh->p = BN_new(); if (!dh->p) goto error;
keypair.c: ~~^
keypair.c: /usr/include/openssl/ossl_typ.h:104:16: note: forward declaration of 'struct dh_st'
keypair.c: typedef struct dh_st DH;
keypair.c: ^
keypair.c: keypair.c:25:28: error: incomplete definition of type 'struct dh_st'
keypair.c: dh->p = BN_new(); if (!dh->p) goto error;
keypair.c: ~~^
keypair.c: /usr/include/openssl/ossl_typ.h:104:16: note: forward declaration of 'struct dh_st'
keypair.c: typedef struct dh_st DH;
keypair.c: ^
keypair.c: keypair.c:26:5: error: incomplete definition of type 'struct dh_st'
keypair.c: dh->g = BN_new(); if (!dh->g) goto error;
keypair.c: ~~^
keypair.c: /usr/include/openssl/ossl_typ.h:104:16: note: forward declaration of 'struct dh_st'
keypair.c: typedef struct dh_st DH;
keypair.c: ^
keypair.c: keypair.c:26:28: error: incomplete definition of type 'struct dh_st'
keypair.c: dh->g = BN_new(); if (!dh->g) goto error;
keypair.c: ~~^
keypair.c: /usr/include/openssl/ossl_typ.h:104:16: note: forward declaration of 'struct dh_st'
keypair.c: typedef struct dh_st DH;
keypair.c: ^
keypair.c: keypair.c:28:39: error: incomplete definition of type 'struct dh_st'
keypair.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
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_dh_claus_openssl_timingleaks_keypair':
keypair.c: keypair.c:25:5: error: dereferencing pointer to incomplete type 'DH' {aka 'struct dh_st'}
keypair.c: dh->p = BN_new(); if (!dh->p) goto error;
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