[Bug target/58901] vax bootstrap fails on subreg reload

martin at netbsd dot org gcc-bugzilla@gcc.gnu.org
Wed Oct 30 20:43:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58901

--- Comment #2 from Martin Husemann <martin at netbsd dot org> ---
indexable_address_p() returns false for

(symbol_ref:SI ("DECPOWERS") [flags 0x40] <var_decl 0x7f22fe60 DECPOWERS>)

because flag_pic is true and symbolic_operand (xfoo0, SImode)) returns true:

/* Return true if xfoo0 and xfoo1 constitute a valid indexed address.  */
static bool
indexable_address_p (rtx xfoo0, rtx xfoo1, enum machine_mode mode, bool strict)
{
  if (!CONSTANT_ADDRESS_P (xfoo0))
    return false;
  if (BASE_REGISTER_P (xfoo1, strict))
    return !flag_pic || mode == QImode;
  if (flag_pic && symbolic_operand (xfoo0, SImode))
    return false;
  return reg_plus_index_p (xfoo1, mode, strict);
}

I don't know vax addressing modes - help!



More information about the Gcc-bugs mailing list