Implementation notes: amd64, comet, crypto_sign/ed25519

Computer: comet
Microarchitecture: amd64; Comet Lake (806ec)
Architecture: amd64
CPU ID: GenuineIntel-000806ec-bfebfbff
SUPERCOP version: 20240107
Operation: crypto_sign
Primitive: ed25519
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
23178496464 0 0116167 868 1792amd64-64-24kclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010820231222
23305696353 0 0114663 868 1728amd64-64-24kclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010820231222
23419992232 0 0111759 868 1760amd64-64-24kclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010820231222
23441389257 0 0106135 868 1728amd64-64-24kclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010820231222
23558593523 0 0111574 796 1792amd64-64-24kgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010820231222
23602389817 0 0106566 796 1792amd64-64-24kgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010820231222
23608188647 0 0106717 860 1792amd64-64-24kclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010820231222
23694490037 0 0106982 796 1792amd64-64-24kgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010820231222
23900888323 0 0104654 788 1760amd64-64-24kgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010820231222
23912482449 0 0101855 868 1792amd64-51-30kclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010820231222
23972181450 0 099783 868 1728amd64-51-30kclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010820231222
24006779150 0 095454 796 1792amd64-51-30kgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010820231222
24025778168 0 094703 868 1728amd64-51-30kclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010820231222
24050883293 0 0100846 796 1792amd64-51-30kgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010820231222
24067179807 0 096254 796 1792amd64-51-30kgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010820231222
24176680887 0 0100135 868 1760amd64-51-30kclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010820231222
24458677481 0 095349 860 1792amd64-51-30kclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010820231222
24751877083 0 093142 788 1760amd64-51-30kgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010820231222
53023656290 0 082973 860 1792ref10clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010820231222
53412458375 0 085038 796 1792ref10gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010820231222
53630158375 0 086926 796 1792ref10gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010820231222
55299064718 0 094855 868 1792ref10clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010820231222
55433561309 0 091167 868 1760ref10clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010820231222
56489362841 0 091463 868 1728ref10clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010820231222
56626156818 0 081566 788 1760ref10gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010820231222
58151058114 0 084006 796 1792ref10gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010820231222
59852858925 0 084823 868 1728ref10clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010820231222

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: <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[85]'
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: | ^~~~~~~~~~~~~~~
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[85]'
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: ...
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: 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