This is the mail archive of the gcc@gcc.gnu.org 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: Reload problem on ppc64 (was: Analysis of high priority PRc/2454)


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.


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