Why set zero in zero.c rather than use xor_n
Torbjörn Granlund
tg at gmplib.org
Mon Feb 5 20:48:47 UTC 2018
nisse at lysator.liu.se (Niels Möller) writes:
It looks like internally we use the MPN_ZERO and MPN_FILL macros. The
mpn_zero function is not inlined, as far as I see.
OK.
> I am not sure it is important enough to write in asm, though.
Probably not. But it might make sense to rewrite as a wrapper for
memset, which I'd expect to be well optimized in gcc and libc.
I suppose memset is not used as it might come with more overhead for
checking alignment. I haven't timed it, though.
(I checked the C version of memset in glibc. Curiously, this is my old
code from 1991. It uses a hardwired cutoff point of 8 bytes for
invoking non-trivial code. That'd help. Not sure if the asm code for
various CPUs do similarly.)
--
Torbjörn
Please encrypt, key id 0xC8601622
More information about the gmp-devel
mailing list