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!