aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2012-10-22 21:39:14 +0200
committerUros Bizjak <uros@gcc.gnu.org>2012-10-22 21:39:14 +0200
commit9eda026ca02dca915d8bf30ae010985db3bc42ce (patch)
treee47c1e81ebec2d59f554f3ada0fadf45a09baa11 /gcc
parent74911c3cff91b2d02e1f51c3ca0264c58d06d9f1 (diff)
downloadgcc-9eda026ca02dca915d8bf30ae010985db3bc42ce.zip
gcc-9eda026ca02dca915d8bf30ae010985db3bc42ce.tar.gz
gcc-9eda026ca02dca915d8bf30ae010985db3bc42ce.tar.bz2
i386.c (memory_address_length): Added missing part from my previous commit.
* config/i386/i386.c (memory_address_length): Added missing part from my previous commit. From-SVN: r192694
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/i386/i386.c3
2 files changed, 4 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index e7e9788..3794f50 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -18,8 +18,8 @@
* config/i386/i386.c (memory_address_length): Assert that non-null
base or index RTXes are registers. Do not check for REG RTXes.
- Determine addr32 prefix from original base and index RTXes.
- Simplify code.
+ Determine addr32 prefix using SImode_address_operand or
+ from original base and index RTXes. Simplify code.
2012-10-22 Richard Biener <rguenther@suse.de>
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 8e78fba..ae48d1a 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -23780,7 +23780,8 @@ memory_address_length (rtx addr, bool lea)
/* If this is not LEA instruction, add the length of addr32 prefix. */
if (TARGET_64BIT && !lea
- && ((parts.base && GET_MODE (parts.base) == SImode)
+ && (SImode_address_operand (addr, VOIDmode)
+ || (parts.base && GET_MODE (parts.base) == SImode)
|| (parts.index && GET_MODE (parts.index) == SImode)))
len++;