re PR target/31232 (Problem while compiling gcc for xstormy16-elf)
authorNick Clifton <nickc@redhat.com>
Wed, 26 Mar 2008 12:32:22 +0000 (12:32 +0000)
committerNick Clifton <nickc@gcc.gnu.org>
Wed, 26 Mar 2008 12:32:22 +0000 (12:32 +0000)
PR target/31232
   * config/stormy16/stormy16.c (xstormy16_legitimate_address_p): Do
   not allow INT+INT as a legitimate addressing mode.

From-SVN: r133598

gcc/ChangeLog
gcc/config/stormy16/stormy16.c

index 571d9400c0f6118fddb1600ac06a5ada17881579..d31e6adbe14699fdf0495dcc0146d723960f3f68 100644 (file)
@@ -1,3 +1,9 @@
+2008-03-26  Nick Clifton  <nickc@redhat.com>
+
+       PR target/31232
+       * config/stormy16/stormy16.c (xstormy16_legitimate_address_p): Do
+       not allow INT+INT as a legitimate addressing mode.
+
 2008-03-26  Richard Guenther  <rguenther@suse.de>
 
        * tree-flow.h (widen_bitfield): Remove declaration.
index a4c1746319476027bf25cd0404dd5f5ef4b99df4..078b367554f87128beaf380d0710ec39c8c189ad 100644 (file)
@@ -629,7 +629,12 @@ xstormy16_legitimate_address_p (enum machine_mode mode ATTRIBUTE_UNUSED,
 
   if (GET_CODE (x) == PLUS
       && LEGITIMATE_ADDRESS_INTEGER_P (XEXP (x, 1), 0))
-    x = XEXP (x, 0);
+    {
+      x = XEXP (x, 0);
+      /* PR 31232: Do not allow INT+INT as an address.  */
+      if (GET_CODE (x) == CONST_INT)
+       return 0;
+    }
   
   if ((GET_CODE (x) == PRE_MODIFY
        && GET_CODE (XEXP (XEXP (x, 1), 1)) == CONST_INT)