OSDN Git Service

PR bootstrap/43287
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 10 Mar 2010 07:51:17 +0000 (07:51 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 10 Mar 2010 07:51:17 +0000 (07:51 +0000)
* config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
UNSPEC_MACHOPIC_OFFSET.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157334 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index 20e0b72..ae224ca 100644 (file)
@@ -1,3 +1,9 @@
+2010-03-10  Jakub Jelinek  <jakub@redhat.com>
+
+       PR bootstrap/43287
+       * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
+       UNSPEC_MACHOPIC_OFFSET.
+
 2010-03-09  Andreas Schwab  <schwab@linux-m68k.org>
 
        PR target/43294
index 7bcc086..8285065 100644 (file)
@@ -5298,6 +5298,16 @@ rs6000_delegitimize_address (rtx orig_x)
       return orig_x;
     }
 
+  if (TARGET_MACHO
+      && GET_CODE (orig_x) == LO_SUM
+      && GET_CODE (XEXP (x, 1)) == CONST)
+    {
+      y = XEXP (XEXP (x, 1), 0);
+      if (GET_CODE (y) == UNSPEC
+         && XINT (y, 1) == UNSPEC_MACHOPIC_OFFSET)
+       return XVECEXP (y, 0, 0);
+    }
+
   return orig_x;
 }