Better tabselect

Torbjorn Granlund tg at
Fri Apr 12 22:40:56 CEST 2013

David Miller <davem at> writes:
  > I sincerely apologise for the odd number of insns in the loop.  :-)
  Easily solved by using the pointer trick on 'tp' and making 'i'
  instead be 'i * stride'.  That'll get us down to 16 instructions.
  I'll try to find time to play with this over the weekend, thanks!
The typical use for this function is RSA encryption/signing, or crypto
operations with even smaller operand sizes.

The vector length will typically be 512 to 2048 bits (8 to 32 limbs on
64-bit machines, 16 to 64 limbs on 32-bit machines) and the number of
vectors will be up to perhaps 32, usually just 16.

I.e., we're dealing with rather small data structures.  A large loop
setup cost will not be compensated by a slightly faster loop.


More information about the gmp-devel mailing list