[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gcc
Subject:    Re: Reload problem on ppc64 (was: Analysis of high priority PR
From:       Michael Matz <matzmich () cs ! tu-berlin ! de>
Date:       2002-07-03 9:03:53
[Download RAW message or body]

Hi,

On Tue, 2 Jul 2002, David Edelsohn wrote:

> 	GCC seems to be confused by the DImode values in FPRs.

Yes ...

> I think that maybe the constraints for the DImode operands should add
> the "*" modifier so that the FPR only is used as a constraint and not
> register preferences.

... but the problem _are_ the constraints.  reload sees the paradoxical
subreg as operand 1, and when trying to find the correct class for it it
looks at the constraints, seeing only "f", i.e. a REG of FLOAT_REGS.  This
is correct, this insn really needs a "f" register.  I.e. one part of the
decisions of reload is correct, it needs to reload that operand somehow
into an "f" reg.  But it does it wrongly.  The added reload insn (which I
believe must really be two) tries to set the "high" part of %f11 to the
content of stackslot of pseudo 338.  This is what's broken.


Ciao,
Michael.

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic