Implementation notes: amd64, scw1b63b1, crypto_sign/ed25519

Computer: scw1b63b1
Architecture: amd64
CPU ID: GenuineIntel-000506f1-0f8bfbff
SUPERCOP version: 20191017
Operation: crypto_sign
Primitive: ed25519
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
41917489151 3192 0106279 4000 1600amd64-64-24kclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121720191017
41937889151 3192 0105439 4000 1600amd64-64-24kclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121720191017
41938489151 3192 0105439 4000 1600amd64-64-24kclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121720191017
41972089252 3192 0106175 4000 1600amd64-64-24kclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121720191017
42251485719 3192 0102404 4000 1600amd64-64-24kclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121720191017
53042676338 4008 093239 4816 1600amd64-51-30kclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121720191017
53054676252 4008 092535 4816 1600amd64-51-30kclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121720191017
53079276252 4008 093343 4816 1600amd64-51-30kclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121720191017
53092276252 4008 092535 4816 1600amd64-51-30kclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121720191017
53274673775 4008 090105 4808 1600amd64-51-30kclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121720191017
95922426679 31680 3255870 32512 1664ref10gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121720191017
96017625971 31680 3253118 32512 1664ref10gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121720191017
99886624658 31680 3250134 32504 1632ref10gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121720191017
100368830327 31680 056935 32488 1600ref10clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121720191017
100382230327 31680 056935 32488 1600ref10clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121720191017
100505229074 31680 054393 32480 1600ref10clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121720191017
100539230516 31680 057919 32488 1600ref10clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121720191017
101158626797 31680 3253510 32512 1664ref10gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121720191017
103765830529 31680 057863 32488 1600ref10clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121720191017
6111124127680 0 0155799 800 1600refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121720191017
6151068127680 0 0154975 800 1600refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121720191017
6241740127680 0 0154975 800 1600refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121720191017
8993214129031 0 0157039 800 1600refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121720191017
10837912120465 0 0146681 792 1600refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121720191017
20449170123442 0 0151302 824 1632refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121720191017
20748802140075 0 0169910 824 1632refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121720191017
24435570122650 0 0150230 824 1632refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121720191017
24885852119957 0 0146286 816 1600refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121720191017

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 shared 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 shared 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 shared 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 shared 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 shared 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 shared 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 shared 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 shared 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 shared 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 shared 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 shared 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 shared 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 shared 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 shared 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 shared 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 shared 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 shared 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 shared 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 shared 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 shared 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 shared 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 shared 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 shared 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 shared 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: 5, 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

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: 5, 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
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE amd64-64-24k