OSDN Git Service

* arm.c (arm_legitimate_index_p): For QImode the range of an offset
authorrearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 25 Feb 2004 12:30:13 +0000 (12:30 +0000)
committerrearnsha <rearnsha@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 25 Feb 2004 12:30:13 +0000 (12:30 +0000)
is -4095...+4095 inclusive.

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

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

index 78f858b..ec2d741 100644 (file)
@@ -1,3 +1,8 @@
+2004-02-25  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.c (arm_legitimate_index_p): For QImode the range of an offset
+       is -4095...+4095 inclusive.
+
 2004-02-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
 
        * doc/install.texi (sparc-sun-solaris2* specific notes): Document
index a2ab3d6..98c05cb 100644 (file)
@@ -2979,8 +2979,10 @@ arm_legitimate_index_p (enum machine_mode mode, rtx index, int strict_p)
      load, but that has a restricted addressing range and we are unable
      to tell here whether that is the case.  To be safe we restrict all
      loads to that range.  */
-  range = ((mode) == HImode || (mode) == QImode)
-    ? (arm_arch4 ? 256 : 4095) : 4096;
+  if (arm_arch4)
+    range = (mode == HImode || mode == QImode) ? 256 : 4096;
+  else
+    range = (mode == HImode) ? 4095 : 4096;
 
   return (code == CONST_INT
          && INTVAL (index) < range