Re: Help with reload bug, please

2015-01-26 Thread Jeff Law
On 01/23/15 14:46, Andrew Stubbs wrote: SECONDARY_INPUT_RELOAD_CLASS is another missed opportunity. Just like the legitimate address stuff, this has checks for the various VFP classes, but reload detects the class in the same flawed way, so an integer reload gives GENERAL_REGS even when the dest

Re: Help with reload bug, please

2015-01-23 Thread Andrew Stubbs
On 23/01/15 16:34, Jeff Law wrote: Just for reference, the PA allows a 14 bit displacement in memory addresses which use integer registers, but only a 5 bit displacement for FP registers. Other than the displacement amounts, I suspect this is the same core problem you have on your port. Yes, t

Re: Help with reload bug, please

2015-01-23 Thread Jeff Law
On 01/23/15 06:46, Andrew Stubbs wrote: How does reload ensure that an SImode value (re)loaded into an FP register has a valid stack index? The FP load instruction allows a smaller index range than the integer equivalent, but nothing checks the destination register, only the source mode. Unfo

Re: Help with reload bug, please

2015-01-23 Thread Joern Rennecke
On 23 January 2015 at 13:46, Andrew Stubbs wrote: > How does reload ensure that an SImode value (re)loaded into an FP register > has a valid stack index? You could use CANNOT_CHANGE_MODE_CLASS, or request secondary reload. For the latter, you can look at the memory/pseudo to decide if the address

Help with reload bug, please

2015-01-23 Thread Andrew Stubbs
How does reload ensure that an SImode value (re)loaded into an FP register has a valid stack index? The FP load instruction allows a smaller index range than the integer equivalent, but nothing checks the destination register, only the source mode. I'm trying to solve a problem in which GCC