This is the mail archive of the gcc-patches@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: RFA: Fix crx --enable-werror-always build


Quoting Richard Henderson <rth@redhat.com>:

On 11/12/2010 08:22 AM, Joern Rennecke wrote:
+ gcc_assert (REGNO (reg) != CC_REGNUM);

This is the only change I'm unsure about. I wonder if instead the previous IF was supposed to check REG instead of ADDR_REG.

That seems unlikely, because then the


           && GET_MODE_SIZE (GET_MODE (SUBREG_REG (addr_reg)))
           <= UNITS_PER_WORD))

check would be redundant.

Alternately,


  if (REGNO (reg) >= LO_REGNUM && REGNO (reg) <= CC_REGNUM)
    return FALSE;

The hi / lo registers could plausibly be reloaded - the mov<mode>_regs pattern has an alternative for that. If it's a good idea to allow such addresses before reload should mostly be a code quality issue, so I would suppose the conservative thing is to continue to allow it.

But I would agree, if REGNO (reg) can actually be CC_REGNUM in this
place, the return value should be FALSE.


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