diff mbox

[4.6] Fix PR target/52425

Message ID 201203031444.06811.ebotcazou@adacore.com
State New
Headers show

Commit Message

Eric Botcazou March 3, 2012, 1:44 p.m. UTC
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.
diff mbox

Patch

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;
 }