]> gcc.gnu.org Git - gcc.git/commitdiff
i386.c (memory_address_info): Correct the scale factor test.
authorGraham Stott <grahams@rcp.co.uk>
Thu, 13 May 1999 00:51:03 +0000 (18:51 -0600)
committerJeff Law <law@gcc.gnu.org>
Thu, 13 May 1999 00:51:03 +0000 (18:51 -0600)
        * i386.c (memory_address_info): Correct the scale
        factor test.

From-SVN: r26917

gcc/ChangeLog
gcc/config/i386/i386.c

index 1109ce4fe044b658cdc7a542de354a498b4113a4..6727dd59cc782b22c02c7617bf6912c06f49bea2 100644 (file)
@@ -1,3 +1,8 @@
+Thu May 13 01:49:55 1999  Graham Stott <GrahamS@RCP.co.uk>
+
+       * i386.c (memory_address_info): Correct the scale
+       factor test.
+
 Thu May 13 01:31:19 1999  Nick Burrett  <nick.burrett@btinternet.com>
 
        * arm.md (nop): Backout Apr 27 change. Ensure REGISTER_PREFIX is
index e3c2f02d3f21396112766ecb60f836e558af772d..8c4aa281f0e984f8ab0b482bbd803737f37de5ee 100644 (file)
@@ -5638,7 +5638,8 @@ memory_address_info (addr, disp_length)
 
   /* Scaling can not be encoded without base or displacement.  
      Except for scale == 1 where we can encode reg + reg instead of reg * 2.  */
-  if (!base && index && scale != 1)
+  if (!base && index
+      && (!scale || GET_CODE (scale) != CONST_INT || (INTVAL (scale) != 1)))
     disp = const0_rtx;
 
   /* Find the length of the displacement constant.  */
This page took 0.09638 seconds and 5 git commands to generate.