This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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<> wrote:
On 6/18/09, Richard Guenther <> 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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]