OSDN Git Service

Another goof in last change.
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 24 Oct 1997 19:56:45 +0000 (19:56 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 24 Oct 1997 19:56:45 +0000 (19:56 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16165 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/config/mn10300/mn10300.c

index e022063..158cb2b 100644 (file)
@@ -1051,11 +1051,15 @@ legitimize_address (x, oldx, mode)
       if (GET_CODE (y) == CONST)
         y = XEXP (y, 0);
 
-      regx1 = force_reg (Pmode, force_operand (XEXP (x, 0), 0));
-      regy1 = force_reg (Pmode, force_operand (XEXP (y, 0), 0));
-      regy2 = force_reg (Pmode, force_operand (XEXP (y, 1), 0));
-      regx1 = force_reg (Pmode, gen_rtx (GET_CODE (y), Pmode, regx1, regy2));
-      return force_reg (Pmode, gen_rtx (PLUS, Pmode, regx1, regy1));
+      if (GET_CODE (y) == PLUS || GET_CODE (y) == MINUS)
+       {
+         regx1 = force_reg (Pmode, force_operand (XEXP (x, 0), 0));
+         regy1 = force_reg (Pmode, force_operand (XEXP (y, 0), 0));
+         regy2 = force_reg (Pmode, force_operand (XEXP (y, 1), 0));
+         regx1 = force_reg (Pmode,
+                            gen_rtx (GET_CODE (y), Pmode, regx1, regy2));
+         return force_reg (Pmode, gen_rtx (PLUS, Pmode, regx1, regy1));
+       }
     }
   return x;
 }