This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[4.6] Fix PR target/52425
- From: Eric Botcazou <ebotcazou at adacore dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Sat, 3 Mar 2012 14:44:06 +0100
- Subject: [4.6] Fix PR target/52425
This is a regression present on the 4.6 branch only. Applied on the branch.
2012-03-03 Eric Botcazou <ebotcazou@adacore.com>
PR target/52425
Backport from mainline
2011-05-22 Eric Botcazou <ebotcazou@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;
}