Implementation notes: amd64, raptor, crypto_sign/ed25519

Computer: raptor
Microarchitecture: amd64; Raptor Cove (b06a2)
Architecture: amd64
CPU ID: GenuineIntel-000b06a2-40-bfebfbff
SUPERCOP version: 20231107
Operation: crypto_sign
Primitive: ed25519
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
18969881168 0 099364 788 1736amd64-51-30kclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
19036787483 0 0102044 780 1800amd64-51-30kgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
19086479742 0 099068 788 1768amd64-51-30kclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
19160083178 0 096420 780 1800amd64-51-30kgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
19205081431 0 0100812 788 1768amd64-51-30kclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
19267778317 0 094244 788 1736amd64-51-30kclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
19276277218 0 094542 780 1800amd64-51-30kclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
19543095630 0 0115444 788 1768amd64-64-24kclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
19564897757 0 0112732 780 1800amd64-64-24kgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
19610496060 0 0114380 788 1736amd64-64-24kclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
19631480951 0 094452 780 1800amd64-51-30kgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
19634479788 0 092624 772 1768amd64-51-30kgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
19662288626 0 0106102 780 1800amd64-64-24kclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
19666891305 0 0111012 788 1768amd64-64-24kclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
19694891642 0 0105692 780 1800amd64-64-24kgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
19754793452 0 0107236 780 1800amd64-64-24kgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
19796689351 0 0105676 788 1736amd64-64-24kclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
19819690705 0 0104008 772 1768amd64-64-24kgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
45084158749 0 081232 772 1768ref10gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
45353260474 0 084860 780 1800ref10gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
45425960474 0 087020 780 1800ref10gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
46162260117 0 083852 780 1800ref10gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
47878762010 0 091356 788 1768ref10clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
48151659800 0 089060 788 1768ref10clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
48747556393 0 082470 780 1800ref10clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
49494761678 0 089780 788 1736ref10clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
49888858799 0 084268 788 1736ref10clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530

Compiler output

Implementation: amd64-51-30k
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: /usr/bin/ld: warning: crypto_stream_chacha20_moon_avx2_64_constbranchindex-chacha.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: crypto_stream_chacha20_moon_avx2_64_constbranchindex-chacha.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: crypto_hashblocks_sha512_avx2_constbranchindex-inner.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: 23, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE amd64-51-30k
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE amd64-51-30k
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE amd64-51-30k
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE amd64-51-30k
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE amd64-51-30k
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE amd64-51-30k
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE amd64-51-30k
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE amd64-51-30k
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE amd64-51-30k
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE amd64-64-24k
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE amd64-64-24k
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE amd64-64-24k
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE amd64-64-24k
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE amd64-64-24k
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref10
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref10
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref10
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref10
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref10
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref10
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref10
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE ref10
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE ref10

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: sc25519.h:18:34: note: in expansion of macro 'CRYPTO_NAMESPACE'
ge25519_scalarmult_base.c: 18 | #define sc25519_window4 CRYPTO_NAMESPACE(sc25519_window4)
ge25519_scalarmult_base.c: | ^~~~~~~~~~~~~~~~
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[85]'
ge25519_scalarmult_base.c: sc25519.h:18:34: note: in expansion of macro 'CRYPTO_NAMESPACE'
ge25519_scalarmult_base.c: 18 | #define sc25519_window4 CRYPTO_NAMESPACE(sc25519_window4)
ge25519_scalarmult_base.c: | ^~~~~~~~~~~~~~~~
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: sc25519.h:18:34: note: in expansion of macro 'CRYPTO_NAMESPACE'
ge25519_scalarmult_base.c: 18 | #define sc25519_window4 CRYPTO_NAMESPACE(sc25519_window4)
ge25519_scalarmult_base.c: | ^~~~~~~~~~~~~~~~
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: | ^~~~~~~~~~~~~~~
try.c: /usr/bin/ld: warning: crypto_stream_chacha20_moon_avx2_64_constbranchindex-chacha.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: crypto_stream_chacha20_moon_avx2_64_constbranchindex-chacha.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: crypto_hashblocks_sha512_avx2_constbranchindex-inner.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: 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: /usr/bin/ld: warning: crypto_stream_chacha20_moon_avx2_64_constbranchindex-chacha.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: clang-16: 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: /usr/bin/ld: warning: crypto_stream_chacha20_moon_avx2_64_constbranchindex-chacha.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: 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