GCC quality (was Re: AMD-64 optimizations, some (new) code)
Torbjorn Granlund
tege at swox.com
Tue Sep 27 13:04:44 CEST 2005
"David T. Ashley" <dta at e3ft.com> writes:
As I recall gmp, it phrases larger integer operations in terms of "limb"
operations. "Limb" arithmetic is so basic -- I think most of it is
supported directly by the machine instruction set. It is hard to imagine
bugs. I mean, in most cases the compiler should just be processing flags
set by machine instructions ... and that comes down to digital logic ...
Well, I think a compiler is usually a quite large program, so
perhaps it isn't that simple.
a)What is a typical "bug" you've found?
I don't know if there is a typical bug.
Sometimes the compiler loses track of where it keeps a value.
Sometimes it makes invalid algebraic rewrites.
A somewhat common bug is to rewrite (x > N) as (x - N > 0) with
variations. This was triggered recently for alpha, where the
latter allows for 16 bit constants whereas the former only allows
8-bit constants.
b)Was this with gcc for the x86 platform or for other platforms?
I think it is spread over the platforms.
--
Torbjörn
More information about the gmp-discuss
mailing list