gcd_11 asm

Niels Möller nisse at lysator.liu.se
Fri Aug 23 05:37:03 UTC 2019


I've had a look at the latest gcd_11 asm, and it's really neat,
including naturally getting %rdx zero on return.

One question: the bd2 and bd4 versions use

L(top): rep;bsf %rdx, %rcx  C tzcnt!

I've not seen this before, but a quick web search indicates that tzcnt
is the same as bsf, except that it has a well defined result also when
the input is zero. But in these loops, we should get to this instruction
only for non-zero %rdx. So are there any other subtleties?


Niels Möller. PGP-encrypted email is preferred. Keyid 368C6677.
Internet email is subject to wholesale government surveillance.

More information about the gmp-devel mailing list