From: Eric Botcazou Date: Sun, 22 May 2011 20:10:54 +0000 (+0000) Subject: sparc.c (sparc_delegitimize_address): Handle UNSPEC_MOVE_PIC pattern. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=145f6c5b88265139d88220b741d2f74ce9cc0332;p=gcc.git sparc.c (sparc_delegitimize_address): Handle UNSPEC_MOVE_PIC pattern. * config/sparc/sparc.c (sparc_delegitimize_address): Handle UNSPEC_MOVE_PIC pattern. From-SVN: r174043 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b09e75188ed..ef29e49d967 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2011-05-22 Eric Botcazou + + * config/sparc/sparc.c (sparc_delegitimize_address): Handle + UNSPEC_MOVE_PIC pattern. + 2011-05-22 Eric Botcazou * config.gcc (sparc-*-elf*): Add sparc/t-crtin. diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index 22f641db519..bd7d12a6553 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -3615,13 +3615,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; + } /* This is generated by mov{si,di}_pic_label_ref in PIC mode. */ if (GET_CODE (x) == MINUS