diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2012-10-22 21:39:14 +0200 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2012-10-22 21:39:14 +0200 |
commit | 9eda026ca02dca915d8bf30ae010985db3bc42ce (patch) | |
tree | e47c1e81ebec2d59f554f3ada0fadf45a09baa11 /gcc | |
parent | 74911c3cff91b2d02e1f51c3ca0264c58d06d9f1 (diff) | |
download | gcc-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/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 3 |
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++; |