diff options
author | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-10-21 22:12:46 +0000 |
---|---|---|
committer | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-10-21 22:12:46 +0000 |
commit | 907c92a4b8311a0af883a65a94c1bf704c0414f3 (patch) | |
tree | b7154eb94cb5fcc8262e1ed94e79ec04396f1824 /gcc/config/i386/i386-protos.h | |
parent | 165a9c4345e2cbb19938dde828b97d8e176dc540 (diff) | |
download | gcc-907c92a4b8311a0af883a65a94c1bf704c0414f3.tar.gz |
* config/i386/i386-protos.h (memory_address_length): Add new bool
argument. Update all uses.
* config/i386/i386.c (memory_address_length): If not LEA insn, then
add length of addr32 prefix based on mode of base or index register.
(ix86_attr_length_address_default) <TYPE_LEA>: Do not handle SImode
addresses here. Update call to memory_address_length.
(ix86_print_address_operand): Use SImode_address_operand predicate.
* config/i386/predicates.md (SImode_address_operand): New.
* config/i386/i386.md (lea<mode>): Use SImode_address_operand
to calculate "mode" attribute. Use SImode_address_operand predicate
instead of open-coding accepted RTX codes.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192660 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/i386/i386-protos.h')
-rw-r--r-- | gcc/config/i386/i386-protos.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/config/i386/i386-protos.h b/gcc/config/i386/i386-protos.h index 2002bfcef5b..96971aeb628 100644 --- a/gcc/config/i386/i386-protos.h +++ b/gcc/config/i386/i386-protos.h @@ -282,7 +282,7 @@ struct ix86_address }; extern int ix86_decompose_address (rtx, struct ix86_address *); -extern int memory_address_length (rtx addr); +extern int memory_address_length (rtx, bool); extern void x86_output_aligned_bss (FILE *, tree, const char *, unsigned HOST_WIDE_INT, int); extern void x86_elf_aligned_common (FILE *, const char *, |