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: REG_OK_STRICT and EXTRA_CONSTRAINT



If the general replacement of REG_OK_STRICT is indeed
reload_in_progress || reload_completed, then the substitution
*should* of course be in principle be correct (as in: subject to
testing. ;)
Sure. After I'm done with the base_reg_class changes, I will try modifying address_operand to be something along the lines of your U constraint:

    return
      strict
      ? strict_memory_address_p (Pmode, x)
      : memory_address_p (Pmode, x),

which I'm of course hoping to write as

    return
      reload_in_progress || reload_completed
      ? strict_memory_address_p (Pmode, x)
      : memory_address_p (Pmode, x),

This will also affect the 'p' constraint, and in the end address your "FIXME: This is arguably a bug in gcc." Of course, again, this is subject to testing.

Thanks to Zack for discussing this on IRC and hypothesizing that this may be a real bug in GCC.

Paolo


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