Replacing "redc"

Torbjörn Granlund tg at
Thu Jul 20 13:56:12 UTC 2017

paul zimmermann <Paul.Zimmermann at> writes:

  quite interesting. Is the API of the new interface fixed? I'd like to try it
  with GMP-ECM, where we currently use the redc_* internal functions. For example
  on my machine Intel(R) Core(TM) i5-4590 CPU @ 3.30GHz, running at 3499.804Mhz:
No internal interfaces are strictly fixed, I suppose.

We've had internal 2-adic *_bdiv_* functions for a while, with redc_*
being mostly redundant, and also less general.  Originally, the
*_bdiv_* functions and redc_* could generate remainders which where off
by d, d being the divisor.

Obsoleting redc_* is a cleanup, simplification, and generalisation as
they *_bdiv_* functions allow separately defined operand sizes.

I don't expect any speedup except as a result of better implementations
of newer assembly.  Currently, we only have one sbpi1_bdiv_r in assembly
(for AMD Zen).  I plan on converting the assembly redc_1 into
sbpi1_bdiv_r form.

Please encrypt, key id 0xC8601622

More information about the gmp-devel mailing list