Do not accept the IP register as a DFmode operand
authorNick Clifton <nickc@cambridge.redhat.com>
Wed, 16 Jan 2002 16:54:21 +0000 (16:54 +0000)
committerNick Clifton <nickc@gcc.gnu.org>
Wed, 16 Jan 2002 16:54:21 +0000 (16:54 +0000)
From-SVN: r48914

gcc/ChangeLog
gcc/config/arm/arm.c

index ab046ed9f75f290bb5887c6a64c73ebccb9e0e0e..ca4a661eb6bc019452e4c679b65432237bdbc96a 100644 (file)
@@ -4,6 +4,8 @@
        to frame pointer initialisation instruction.
        (thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
        initialisation instruction.
+       (soft_df_operand): Do not accept the IP register.
+       (nonimmediate_soft_df_operand): Do not accept the IP register.
 
 2002-01-16  Jakub Jelinek  <jakub@redhat.com>
 
index 8ef7355ec8e2c48d54843e6291ce9fb0f6fd91fb..f69d75176c2e5a27d78c7d5aaccffc6ac34fbdd6 100644 (file)
@@ -3362,9 +3362,9 @@ soft_df_operand (op, mode)
       if (GET_CODE (op) == SUBREG)
        op = SUBREG_REG (op);
 
-      if (REGNO (op) == IP_REGNUM)
-       return FALSE;
-      return TRUE;
+      /* The IP register must not be used, since its higher
+        numbered counterpart is 13 - the stack pointer.  */
+      return REGNO (op) != IP_REGNUM;
     }
 
   if (mode != VOIDmode && GET_MODE (op) != mode)
@@ -3401,9 +3401,9 @@ nonimmediate_soft_df_operand (op, mode)
       if (GET_CODE (op) == SUBREG)
        op = SUBREG_REG (op);
 
-      if (REGNO (op) == IP_REGNUM)
-       return FALSE;
-      return TRUE;
+      /* The IP register must not be used, since its higher
+        numbered counterpart is 13 - the stack pointer.  */
+      return REGNO (op) != IP_REGNUM;
     }
 
   if (mode != VOIDmode && GET_MODE (op) != mode)