Small operands gcd improvements

Torbjörn Granlund tg at
Sat Aug 10 17:01:28 UTC 2019

We might provide several gcc_11 function variants to accomodate the
internal uses you bring up.

gcd_1o1o - two odd limbs
gcd_1o1  - one odd and one odd/even limb
gcd_11   - two odd/even limbs

They would all be implemented in the same asm file.  In the absense of
asm implementation, C could provide just the most general gcd_11 with
tail callers for the other functions.

The speed difference will vary, I'd say 8 - 30 cycles for the initial
handling of potentially even operands.

Please encrypt, key id 0xC8601622

More information about the gmp-devel mailing list