This is a regression present on the 4.6 branch only. Applied on the branch.
2012-03-03 Eric Botcazou <ebotca...@adacore.com> PR target/52425 Backport from mainline 2011-05-22 Eric Botcazou <ebotca...@adacore.com> * config/sparc/sparc.c (sparc_delegitimize_address): Handle UNSPEC_MOVE_PIC pattern. -- Eric Botcazou
Index: config/sparc/sparc.c =================================================================== --- config/sparc/sparc.c (revision 183919) +++ config/sparc/sparc.c (working copy) @@ -3658,13 +3658,17 @@ sparc_delegitimize_address (rtx x) { x = delegitimize_mem_from_attrs (x); - if (GET_CODE (x) == LO_SUM - && GET_CODE (XEXP (x, 1)) == UNSPEC - && XINT (XEXP (x, 1), 1) == UNSPEC_TLSLE) - { - x = XVECEXP (XEXP (x, 1), 0, 0); - gcc_assert (GET_CODE (x) == SYMBOL_REF); - } + if (GET_CODE (x) == LO_SUM && GET_CODE (XEXP (x, 1)) == UNSPEC) + switch (XINT (XEXP (x, 1), 1)) + { + case UNSPEC_MOVE_PIC: + case UNSPEC_TLSLE: + x = XVECEXP (XEXP (x, 1), 0, 0); + gcc_assert (GET_CODE (x) == SYMBOL_REF); + break; + default: + break; + } return x; }