This is the mail archive of the
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<firstname.lastname@example.org> wrote: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.
On 6/18/09, Richard Guenther <email@example.com> wrote:
In HJ's example, the number of uses remains the same...
So my proposed solution would be: Do not allow combine to propagateAt least not if that increases the number of uses of the hard reg.
SETany _SRC that contains hard regs.
If we can distinguish that case properly.
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?
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.