aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGraham Stott <grahams@rcp.co.uk>1999-05-12 18:51:03 -0600
committerJeff Law <law@gcc.gnu.org>1999-05-12 18:51:03 -0600
commit35f43fd13cbdb81e92ed952e4a20df7202713d81 (patch)
treef7518067eeb090f0dbdf79467f2c3f4f71097aba
parent269bcf848b48cf646ff51d8e067efc4c42e52bf9 (diff)
downloadgcc-35f43fd13cbdb81e92ed952e4a20df7202713d81.zip
gcc-35f43fd13cbdb81e92ed952e4a20df7202713d81.tar.gz
gcc-35f43fd13cbdb81e92ed952e4a20df7202713d81.tar.bz2
i386.c (memory_address_info): Correct the scale factor test.
* i386.c (memory_address_info): Correct the scale factor test. From-SVN: r26917
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/i386/i386.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1109ce4..6727dd5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index e3c2f02..8c4aa28 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -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. */