This is the mail archive of the
gcc-regression@gcc.gnu.org
mailing list for the GCC project.
Re: GCC build failed with your patch on 2001-01-09T11:35:00Z.
- To: Alexandre Oliva <aoliva at redhat dot com>
- Subject: Re: GCC build failed with your patch on 2001-01-09T11:35:00Z.
- From: David Edelsohn <dje at watson dot ibm dot com>
- Date: Tue, 09 Jan 2001 14:39:24 -0500
- cc: Geoff Keating <geoffk at redhat dot com>, rth at redhat dot com, gcc at gcc dot gnu dot org, gcc-regression at gcc dot gnu dot org, grahams at redhat dot com, jsm28 at cam dot ac dot uk, mhayes at redhat dot com, neil at daikokuya dot demon dot co dot uk, osk at hem dot passagen dot se, Mark Mitchell <mark at codesourcery dot com>
>>>>> Alexandre Oliva writes:
Alexandre> Besides, there's a number of tests that fail unless HOST_WIDE_INT is
Alexandre> at least as wide as size_t or ptrdiff_t (I don't recall for sure
Alexandre> which; maybe both). This is what motivated me to write this patch,
Alexandre> and it's working fine on a number of other 32/64-bit targets.
This patch isn't even an optimization, it is a trade-off. The
trade-off is between the GCC backend treating CONST_INT as 64-bits for
various optimization and GCC using synthesized "long long" on 32-bit hosts
which is slower. GCC should not be imposing this choise by fiat. Some
people will want all of the optimizations while paying the performance
price and others don't want the speed hit.
Your patch flips this cost-benefit analysis from its previous
default, as well as breaking the rs6000 port. Allowing a choice is fine,
but not imposing synthesized "long long" for CONST_INT all 64-bit targets.
That is not a change to be made without greater consideration, and
especially not days before the gcc-3.0 branch.
David