GMP 6.1.2 t-count_zeros failure on ARM with assertions
Torbjörn Granlund
tg at gmplib.org
Tue Jan 2 09:47:26 UTC 2018
nisse at lysator.liu.se (Niels Möller) writes:
Using inline asm instead has the drawback that it leaves a little less
opportunity for the compiler to schedule this instructions optimally. No
idea if that matters in practice. Since it seems we don't really need
count_*_zeros to support zero input, is there any advantage in using
inline asm?
Sure, and that matters chiefly if the instructions have a long latency.
(Now, it is quite likely that CLZ and RBIT didn't get described to the
compiler scheduler, as they are usually not used.)
(Related, I wonder what the effect would be of redefining umul_ppmm as C
expressions involving __uint128_t on compilers that support that).
We do that already for some CPUs, but this has proven to be somewhat
fragile, and in unexpected cases lead to libgcc calls.
--
Torbjörn
Please encrypt, key id 0xC8601622
More information about the gmp-bugs
mailing list