From 35f43fd13cbdb81e92ed952e4a20df7202713d81 Mon Sep 17 00:00:00 2001 From: Graham Stott Date: Wed, 12 May 1999 18:51:03 -0600 Subject: i386.c (memory_address_info): Correct the scale factor test. * i386.c (memory_address_info): Correct the scale factor test. From-SVN: r26917 --- gcc/ChangeLog | 5 +++++ gcc/config/i386/i386.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) 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 + + * i386.c (memory_address_info): Correct the scale + factor test. + Thu May 13 01:31:19 1999 Nick Burrett * 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. */ -- cgit v1.1