This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PATCH: PR target/40470: unabl e to find a register to spill in class ‘SSE_FIRST_REG’
H.J. Lu wrote:
On Thu, Jun 18, 2009 at 4:52 AM, Steven Bosscher<stevenb.gcc@gmail.com> wrote:
On 6/18/09, Richard Guenther <richard.guenther@gmail.com> wrote:
So my proposed solution would be: Do not allow combine to propagate
SETany _SRC that contains hard regs.
At least not if that increases the number of uses of the hard reg.
If we can distinguish that case properly.
In HJ's example, the number of uses remains the same...
Fixing combiner affects all targets with unknown performance impact.
Is this a good idea for 4.3 and 4.4? My patch is very much limited to
SSE4 intrinsics and also there are many cases which show early hard
register assignment improves code quality. Should we consider my
patch for 4.3 and 4.4?
It's a correctness issue HJ! This is something the combiner has always
been expected to deal with. The fact that it's not doing so now is a
bug, plain and simple.
Given my experience exposing hard regs early, the performance impact of
fixing the compiler should be far smaller than exposing the hard reg.
As I've stated previously, I will object to installing your patch until
such time as someone has investigated the combiner bug and we can
evaluate the impact of fixing the combiner bug.
jeff