Implementation notes: amd64, hydra5, crypto_sign/ed25519

Computer: hydra5
Microarchitecture: amd64; K10 32nm (300f10)
Architecture: amd64
CPU ID: AuthenticAMD-00300f10-178bfbff
SUPERCOP version: 20240425
Operation: crypto_sign
Primitive: ed25519
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
38122495328 0 0104885 844 1760amd64-64-24kgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042820240425
38221196353 0 0107433 884 1728amd64-64-24kclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042820240425
38242192289 0 0102237 844 1760amd64-64-24kgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042820240425
38336496353 0 0107433 884 1728amd64-64-24kclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042820240425
38397592070 0 0102385 884 1728amd64-64-24kclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042820240425
38501791959 0 0100997 844 1760amd64-64-24kgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042820240425
38511788549 0 097979 876 1728amd64-64-24kclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042820240425
38523989734 0 099273 884 1728amd64-64-24kclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042820240425
39134190553 0 098741 836 1760amd64-64-24kgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042820240425
51789584292 0 093501 844 1760amd64-51-30kgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042820240425
51868281265 0 090789 844 1760amd64-51-30kgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042820240425
51878881450 0 092553 884 1728amd64-51-30kclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042820240425
51899481450 0 092553 884 1728amd64-51-30kclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042820240425
52077278059 0 087657 884 1728amd64-51-30kclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042820240425
52092079902 0 090257 884 1728amd64-51-30kclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042820240425
52108480840 0 089485 844 1760amd64-51-30kgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042820240425
52237877406 0 086491 876 1728amd64-51-30kclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042820240425
52575579520 0 087397 836 1760amd64-51-30kgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042820240425
104174262841 0 084161 884 1728ref10clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042820240425
104199862841 0 084161 884 1728ref10clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042820240425
104342659464 0 079833 884 1728ref10clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042820240425
104401656426 0 074323 876 1728ref10clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042820240425
104592259590 0 080309 844 1760ref10gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042820240425
106868358557 0 075333 836 1760ref10gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042820240425
109715059660 0 077757 844 1760ref10gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042820240425
111037959047 0 077865 884 1728ref10clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042820240425
111207959936 0 079405 844 1760ref10gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042820240425

Compiler output

Implementation: amd64-64-24k
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
ge25519_scalarmult_base.c: ge25519_scalarmult_base.c: In function 'crypto_sign_ed25519_amd64_64_24k_constbranchindex_scalarmult_base':
ge25519_scalarmult_base.c: <command-line>: warning: 'crypto_sign_ed25519_amd64_64_24k_constbranchindex_sc25519_window4' accessing 85 bytes in a region of size 64 [-Wstringop-overflow=]
ge25519_scalarmult_base.c: <command-line>: note: in definition of macro 'CRYPTO_NAMESPACE'
ge25519_scalarmult_base.c: ge25519_scalarmult_base.c:24:3: note: in expansion of macro 'sc25519_window4'
ge25519_scalarmult_base.c: 24 | sc25519_window4(b,s);
ge25519_scalarmult_base.c: | ^~~~~~~~~~~~~~~
ge25519_scalarmult_base.c: <command-line>: note: referencing argument 1 of type 'signed char *'
ge25519_scalarmult_base.c: <command-line>: note: in definition of macro 'CRYPTO_NAMESPACE'
ge25519_scalarmult_base.c: ge25519_scalarmult_base.c:24:3: note: in expansion of macro 'sc25519_window4'
ge25519_scalarmult_base.c: 24 | sc25519_window4(b,s);
ge25519_scalarmult_base.c: | ^~~~~~~~~~~~~~~
ge25519_scalarmult_base.c: <command-line>: note: in a call to function 'crypto_sign_ed25519_amd64_64_24k_constbranchindex_sc25519_window4'
ge25519_scalarmult_base.c: <command-line>: note: in definition of macro 'CRYPTO_NAMESPACE'
ge25519_scalarmult_base.c: sc25519.h:58:6: note: in expansion of macro 'sc25519_window4'
ge25519_scalarmult_base.c: 58 | void sc25519_window4(signed char r[85], const sc25519 *s);
ge25519_scalarmult_base.c: | ^~~~~~~~~~~~~~~

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

Compiler output

Implementation: ref
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_sign_ed25519.a(open.o):(.rodata+0x0): multiple definition of `crypto_sign_ed25519_ref_constbranchindex_ge25519_base'; libcrypto_sign_ed25519.a(keypair.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_sign_ed25519.a(sign.o):(.rodata+0x0): multiple definition of `crypto_sign_ed25519_ref_constbranchindex_ge25519_base'; libcrypto_sign_ed25519.a(keypair.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_sign_ed25519.a(ge25519.o):(.rodata+0x0): multiple definition of `crypto_sign_ed25519_ref_constbranchindex_ge25519_base'; libcrypto_sign_ed25519.a(keypair.o):(.rodata+0x0): first defined here
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

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

Compiler output

Implementation: ref
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_sign_ed25519.a(open.o):(.rodata+0x0): multiple definition of `crypto_sign_ed25519_ref_constbranchindex_ge25519_base'; libcrypto_sign_ed25519.a(keypair.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_sign_ed25519.a(sign.o):(.rodata+0x0): multiple definition of `crypto_sign_ed25519_ref_constbranchindex_ge25519_base'; libcrypto_sign_ed25519.a(keypair.o):(.rodata+0x0): first defined here
try.c: /usr/bin/ld: libcrypto_sign_ed25519.a(ge25519.o):(.rodata+0x1aa80): multiple definition of `crypto_sign_ed25519_ref_constbranchindex_ge25519_base'; libcrypto_sign_ed25519.a(keypair.o):(.rodata+0x0): first defined here
try.c: collect2: error: ld returned 1 exit status

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