Implementation notes: amd64, bitvise, crypto_sign/ed25519

Computer: bitvise
Architecture: amd64
CPU ID: GenuineIntel-000906ea-bfebfbff
SUPERCOP version: 20190910
Operation: crypto_sign
Primitive: ed25519
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
23425085380 3192 095432 3992 1600amd64-64-24kclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
23515289126 3192 0101130 4000 1600amd64-64-24kclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
23752889126 3192 0101130 4000 1600amd64-64-24kclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
23933492582 3192 0104554 4000 1600amd64-64-24kclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
24478076767 4008 088410 4816 1600amd64-51-30kclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
24717873165 4008 083064 4808 1600amd64-51-30kclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
24880576767 4008 088410 4816 1600amd64-51-30kclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
25539477518 4008 089082 4816 1600amd64-51-30kclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
55442326004 31680 3249752 32504 1664ref10gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
56166727131 31680 049730 32488 1600ref10clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
56223625274 31680 043936 32480 1600ref10clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
56799029560 31680 052178 32488 1600ref10clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
56867925504 31680 3244560 32496 1632ref10gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
56964526628 31680 3246792 32504 1664ref10gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
57020727131 31680 049730 32488 1600ref10clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
57313525842 31680 3246200 32504 1664ref10gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
5268732131698 0 0154530 800 1600refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
5287326131698 0 0154530 800 1600refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
5481392135528 0 0158650 800 1600refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
5729352120558 0 0140000 792 1600refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091420190910
6664753142733 0 0166928 816 1632refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
16724073123283 0 0144280 816 1632refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
16874876123347 0 0144296 816 1632refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910
16896111121192 0 0141024 808 1600refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091420190910

Compiler output

Implementation: amd64-51-30k
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: crypto_sign_ed25519.a(ge25519_nielsadd_p1p1.o): relocation R_X86_64_32S against symbol `crypto_sign_ed25519_amd64_51_30k_batch_2P0' can not be used when making a PIE object; recompile with -fPIC
try.c: /usr/bin/ld: crypto_sign_ed25519.a(ge25519_p1p1_to_p2.o): relocation R_X86_64_32S against symbol `crypto_sign_ed25519_amd64_51_30k_batch_REDMASK51' can not be used when making a PIE object; recompile with -fPIC
try.c: /usr/bin/ld: crypto_sign_ed25519.a(ge25519_p1p1_to_p3.o): relocation R_X86_64_32S against symbol `crypto_sign_ed25519_amd64_51_30k_batch_REDMASK51' can not be used when making a PIE object; recompile with -fPIC
try.c: /usr/bin/ld: crypto_sign_ed25519.a(ge25519_p1p1_to_pniels.o): relocation R_X86_64_32S against symbol `crypto_sign_ed25519_amd64_51_30k_batch_REDMASK51' can not be used when making a PIE object; recompile with -fPIC
try.c: /usr/bin/ld: crypto_sign_ed25519.a(ge25519_pnielsadd_p1p1.o): relocation R_X86_64_32S against symbol `crypto_sign_ed25519_amd64_51_30k_batch_2P0' can not be used when making a PIE object; recompile with -fPIC
try.c: /usr/bin/ld: crypto_sign_ed25519.a(sc25519_add.o): relocation R_X86_64_32S against symbol `crypto_sign_ed25519_amd64_51_30k_batch_ORDER0' can not be used when making a PIE object; recompile with -fPIC
try.c: /usr/bin/ld: crypto_sign_ed25519.a(sc25519_barrett.o): relocation R_X86_64_32S against symbol `crypto_sign_ed25519_amd64_51_30k_batch_MU3' can not be used when making a PIE object; recompile with -fPIC
try.c: /usr/bin/ld: crypto_sign_ed25519.a(choose_t.o): relocation R_X86_64_32S against symbol `crypto_sign_ed25519_amd64_51_30k_batch_2P0' can not be used when making a PIE object; recompile with -fPIC
try.c: /usr/bin/ld: crypto_sign_ed25519.a(fe25519_mul.o): relocation R_X86_64_32S against symbol `crypto_sign_ed25519_amd64_51_30k_batch_REDMASK51' can not be used when making a PIE object; recompile with -fPIC
try.c: /usr/bin/ld: crypto_sign_ed25519.a(fe25519_nsquare.o): relocation R_X86_64_32S against symbol `crypto_sign_ed25519_amd64_51_30k_batch_REDMASK51' can not be used when making a PIE object; recompile with -fPIC
try.c: /usr/bin/ld: crypto_sign_ed25519.a(fe25519_square.o): relocation R_X86_64_32S against symbol `crypto_sign_ed25519_amd64_51_30k_batch_REDMASK51' can not be used when making a PIE object; recompile with -fPIC
try.c: /usr/bin/ld: crypto_sign_ed25519.a(ge25519_dbl_p1p1.o): relocation R_X86_64_32S against symbol `crypto_sign_ed25519_amd64_51_30k_batch_REDMASK51' can not be used when making a PIE object; recompile with -fPIC
try.c: /usr/bin/ld: crypto_sign_ed25519.a(ge25519_nielsadd2.o): relocation R_X86_64_32S against symbol `crypto_sign_ed25519_amd64_51_30k_batch_2P0' can not be used when making a PIE object; recompile with -fPIC
try.c: /usr/bin/ld: crypto_sign_ed25519.a(fe25519_freeze.o): relocation R_X86_64_32S against symbol `crypto_sign_ed25519_amd64_51_30k_batch_REDMASK51' can not be used when making a PIE object; recompile with -fPIC
try.c: /usr/bin/ld: final link failed: Nonrepresentable section on output
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 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

Compiler output

Implementation: amd64-64-24k
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: crypto_sign_ed25519.a(ge25519_nielsadd_p1p1.o): relocation R_X86_64_32S against symbol `crypto_sign_ed25519_amd64_64_38' can not be used when making a PIE object; recompile with -fPIC
try.c: /usr/bin/ld: crypto_sign_ed25519.a(ge25519_p1p1_to_p2.o): relocation R_X86_64_32S against symbol `crypto_sign_ed25519_amd64_64_38' can not be used when making a PIE object; recompile with -fPIC
try.c: /usr/bin/ld: crypto_sign_ed25519.a(ge25519_p1p1_to_p3.o): relocation R_X86_64_32S against symbol `crypto_sign_ed25519_amd64_64_38' can not be used when making a PIE object; recompile with -fPIC
try.c: /usr/bin/ld: crypto_sign_ed25519.a(ge25519_pnielsadd_p1p1.o): relocation R_X86_64_32S against symbol `crypto_sign_ed25519_amd64_64_38' can not be used when making a PIE object; recompile with -fPIC
try.c: /usr/bin/ld: crypto_sign_ed25519.a(sc25519_add.o): relocation R_X86_64_32S against symbol `crypto_sign_ed25519_amd64_64_ORDER0' can not be used when making a PIE object; recompile with -fPIC
try.c: /usr/bin/ld: crypto_sign_ed25519.a(sc25519_barrett.o): relocation R_X86_64_32S against symbol `crypto_sign_ed25519_amd64_64_MU3' can not be used when making a PIE object; recompile with -fPIC
try.c: /usr/bin/ld: crypto_sign_ed25519.a(fe25519_mul.o): relocation R_X86_64_32S against symbol `crypto_sign_ed25519_amd64_64_38' can not be used when making a PIE object; recompile with -fPIC
try.c: /usr/bin/ld: crypto_sign_ed25519.a(fe25519_square.o): relocation R_X86_64_32S against symbol `crypto_sign_ed25519_amd64_64_38' can not be used when making a PIE object; recompile with -fPIC
try.c: /usr/bin/ld: crypto_sign_ed25519.a(ge25519_dbl_p1p1.o): relocation R_X86_64_32S against symbol `crypto_sign_ed25519_amd64_64_38' can not be used when making a PIE object; recompile with -fPIC
try.c: /usr/bin/ld: crypto_sign_ed25519.a(ge25519_nielsadd2.o): relocation R_X86_64_32S against symbol `crypto_sign_ed25519_amd64_64_38' can not be used when making a PIE object; recompile with -fPIC
try.c: /usr/bin/ld: final link failed: Nonrepresentable section on output
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 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

Namespace violations

Implementation: amd64-51-30k
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
batch.o crypto_sign_open_batch T
ge25519_double_scalarmult.o pre2 D

Number of similar (compiler,implementation) pairs: 4, 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

Namespace violations

Implementation: amd64-64-24k
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
batch.o crypto_sign_open_batch T
choose_t.o _crypto_sign_ed25519_amd64_64_choose_t T
choose_t.o crypto_sign_ed25519_amd64_64_choose_t T
consts.o crypto_sign_ed25519_amd64_64_121666 D
consts.o crypto_sign_ed25519_amd64_64_38 D
consts.o crypto_sign_ed25519_amd64_64_EC2D0 D
consts.o crypto_sign_ed25519_amd64_64_EC2D1 D
consts.o crypto_sign_ed25519_amd64_64_EC2D2 D
consts.o crypto_sign_ed25519_amd64_64_EC2D3 D
consts.o crypto_sign_ed25519_amd64_64_MU0 D
consts.o crypto_sign_ed25519_amd64_64_MU1 D
consts.o crypto_sign_ed25519_amd64_64_MU2 D
consts.o crypto_sign_ed25519_amd64_64_MU3 D
consts.o crypto_sign_ed25519_amd64_64_MU4 D
consts.o crypto_sign_ed25519_amd64_64_ORDER0 D
consts.o crypto_sign_ed25519_amd64_64_ORDER1 D
consts.o crypto_sign_ed25519_amd64_64_ORDER2 D
consts.o crypto_sign_ed25519_amd64_64_ORDER3 D
fe25519_add.o _crypto_sign_ed25519_amd64_64_fe25519_add T
fe25519_add.o crypto_sign_ed25519_amd64_64_fe25519_add T
fe25519_freeze.o _crypto_sign_ed25519_amd64_64_fe25519_freeze T
fe25519_freeze.o crypto_sign_ed25519_amd64_64_fe25519_freeze T
fe25519_getparity.o crypto_sign_ed25519_amd64_64_fe25519_getparity T
fe25519_invert.o crypto_sign_ed25519_amd64_64_fe25519_invert T
fe25519_iseq.o crypto_sign_ed25519_amd64_64_fe25519_iseq_vartime T
fe25519_iszero.o crypto_sign_ed25519_amd64_64_fe25519_iszero_vartime T
fe25519_mul.o _crypto_sign_ed25519_amd64_64_fe25519_mul T
fe25519_mul.o crypto_sign_ed25519_amd64_64_fe25519_mul T
fe25519_neg.o crypto_sign_ed25519_amd64_64_fe25519_neg T
fe25519_pack.o crypto_sign_ed25519_amd64_64_fe25519_pack T
fe25519_pow2523.o crypto_sign_ed25519_amd64_64_fe25519_pow2523 T
fe25519_setint.o crypto_sign_ed25519_amd64_64_fe25519_setint T
fe25519_square.o _crypto_sign_ed25519_amd64_64_fe25519_square T
fe25519_square.o crypto_sign_ed25519_amd64_64_fe25519_square T
fe25519_sub.o _crypto_sign_ed25519_amd64_64_fe25519_sub T
fe25519_sub.o crypto_sign_ed25519_amd64_64_fe25519_sub T
fe25519_unpack.o crypto_sign_ed25519_amd64_64_fe25519_unpack T
ge25519_add.o crypto_sign_ed25519_amd64_64_ge25519_add T
ge25519_add_p1p1.o _crypto_sign_ed25519_amd64_64_ge25519_add_p1p1 T
ge25519_add_p1p1.o crypto_sign_ed25519_amd64_64_ge25519_add_p1p1 T
ge25519_base.o crypto_sign_ed25519_amd64_64_ge25519_base R
ge25519_dbl_p1p1.o _crypto_sign_ed25519_amd64_64_ge25519_dbl_p1p1 T
ge25519_dbl_p1p1.o crypto_sign_ed25519_amd64_64_ge25519_dbl_p1p1 T
ge25519_double.o crypto_sign_ed25519_amd64_64_ge25519_double T
ge25519_double_scalarmult.o crypto_sign_ed25519_amd64_64_double_scalarmult_vartime T
ge25519_double_scalarmult.o pre2 D
ge25519_isneutral.o crypto_sign_ed25519_amd64_64_isneutral_vartime T
ge25519_multi_scalarmult.o crypto_sign_ed25519_amd64_64_ge25519_multi_scalarmult_vartime T
ge25519_nielsadd2.o _crypto_sign_ed25519_amd64_64_ge25519_nielsadd2 T
ge25519_nielsadd2.o crypto_sign_ed25519_amd64_64_ge25519_nielsadd2 T
ge25519_nielsadd_p1p1.o _crypto_sign_ed25519_amd64_64_ge25519_nielsadd_p1p1 T
ge25519_nielsadd_p1p1.o crypto_sign_ed25519_amd64_64_ge25519_nielsadd_p1p1 T
ge25519_p1p1_to_p2.o _crypto_sign_ed25519_amd64_64_ge25519_p1p1_to_p2 T
ge25519_p1p1_to_p2.o crypto_sign_ed25519_amd64_64_ge25519_p1p1_to_p2 T
ge25519_p1p1_to_p3.o _crypto_sign_ed25519_amd64_64_ge25519_p1p1_to_p3 T
ge25519_p1p1_to_p3.o crypto_sign_ed25519_amd64_64_ge25519_p1p1_to_p3 T
ge25519_pack.o crypto_sign_ed25519_amd64_64_pack T
ge25519_pnielsadd_p1p1.o _crypto_sign_ed25519_amd64_64_ge25519_pnielsadd_p1p1 T
ge25519_pnielsadd_p1p1.o crypto_sign_ed25519_amd64_64_ge25519_pnielsadd_p1p1 T
ge25519_scalarmult_base.o crypto_sign_ed25519_amd64_64_scalarmult_base T
ge25519_unpackneg.o crypto_sign_ed25519_amd64_64_unpackneg_vartime T
heap_rootreplaced.o _crypto_sign_ed25519_amd64_64_heap_rootreplaced T
heap_rootreplaced.o crypto_sign_ed25519_amd64_64_heap_rootreplaced T
heap_rootreplaced_1limb.o _crypto_sign_ed25519_amd64_64_heap_rootreplaced_1limb T
heap_rootreplaced_1limb.o crypto_sign_ed25519_amd64_64_heap_rootreplaced_1limb T
heap_rootreplaced_2limbs.o _crypto_sign_ed25519_amd64_64_heap_rootreplaced_2limbs T
heap_rootreplaced_2limbs.o crypto_sign_ed25519_amd64_64_heap_rootreplaced_2limbs T
heap_rootreplaced_3limbs.o _crypto_sign_ed25519_amd64_64_heap_rootreplaced_3limbs T
heap_rootreplaced_3limbs.o crypto_sign_ed25519_amd64_64_heap_rootreplaced_3limbs T
hram.o crypto_sign_ed25519_amd64_64_get_hram T
index_heap.o crypto_sign_ed25519_amd64_64_heap_extend T
index_heap.o crypto_sign_ed25519_amd64_64_heap_get2max T
index_heap.o crypto_sign_ed25519_amd64_64_heap_init T
index_heap.o crypto_sign_ed25519_amd64_64_heap_push T
sc25519_add.o _crypto_sign_ed25519_amd64_64_sc25519_add T
sc25519_add.o crypto_sign_ed25519_amd64_64_sc25519_add T
sc25519_barrett.o _crypto_sign_ed25519_amd64_64_sc25519_barrett T
sc25519_barrett.o crypto_sign_ed25519_amd64_64_sc25519_barrett T
sc25519_from32bytes.o crypto_sign_ed25519_amd64_64_sc25519_from32bytes T
sc25519_from64bytes.o crypto_sign_ed25519_amd64_64_sc25519_from64bytes T
sc25519_from_shortsc.o crypto_sign_ed25519_amd64_64_sc25519_from_shortsc T
sc25519_iszero.o crypto_sign_ed25519_amd64_64_sc25519_iszero_vartime T
sc25519_lt.o _crypto_sign_ed25519_amd64_64_sc25519_lt T
sc25519_lt.o crypto_sign_ed25519_amd64_64_sc25519_lt T
sc25519_mul.o crypto_sign_ed25519_amd64_64_sc25519_mul T
sc25519_mul_shortsc.o crypto_sign_ed25519_amd64_64_sc25519_mul_shortsc T
sc25519_slide.o crypto_sign_ed25519_amd64_64_sc25519_slide T
sc25519_sub_nored.o _crypto_sign_ed25519_amd64_64_sc25519_sub_nored T
sc25519_sub_nored.o crypto_sign_ed25519_amd64_64_sc25519_sub_nored T
sc25519_to32bytes.o crypto_sign_ed25519_amd64_64_sc25519_to32bytes T
sc25519_window4.o crypto_sign_ed25519_amd64_64_sc25519_window4 T
ull4_mul.o _crypto_sign_ed25519_amd64_64_ull4_mul T
ull4_mul.o crypto_sign_ed25519_amd64_64_ull4_mul T

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
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