divexact_1 and bdiv_q_1

bodrato at mail.dm.unipi.it bodrato at mail.dm.unipi.it
Thu Jan 20 09:13:15 CET 2011


On Wed, January 19, 2011 6:12 pm, Torbjorn Granlund wrote:
> bodrato at mail.dm.unipi.it writes:

> It is a value which could be used for computing the function piece-wise,

But we don't have the function to compute the next-piece accepting it, right?

>   I took the code from mpn/x86/dive_1.asm and I adapted it to obtain
>   mpn/x86/bdiv_q_1.asm, then I committed it[*] to have it tested. It
> Hmm...  :-|

It was for testing, we can remove it :-)

> Didn't he presence is the even more gneric code in mpn/generic cause
> such slowdowns?

No, because there are a lot of
#if HAVE_NATIVE_mpn_pi1_bdiv_q_1
in the code. A comment in mpn/generic/toom_interpolate_7pts.c says:
/* For the various mpn_divexact_byN here, fall back to using either
   mpn_pi1_bdiv_q_1 or mpn_divexact_1.  The former has less overhead and is
   many faster if it is native.  For now, since mpn_divexact_1 is native on
   several platforms where mpn_pi1_bdiv_q_1 does not yet exist, do not use
   mpn_pi1_bdiv_q_1 unconditionally.  FIXME.  */



More information about the gmp-devel mailing list