r192769 - in /branches/gcc-4_7-branch/gcc: Chan...

uros@gcc.gnu.org uros@gcc.gnu.org
Wed Oct 24 15:27:00 GMT 2012


Author: uros
Date: Wed Oct 24 15:27:47 2012
New Revision: 192769

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=192769
Log:
	Backport from mainline
	2012-10-22  Uros Bizjak  <ubizjak@gmail.com>

	* 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 using SImode_address_operand or
	from original base and index RTXes.  Simplify code.

	2012-10-21  Uros Bizjak  <ubizjak@gmail.com>

	* 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.


Modified:
    branches/gcc-4_7-branch/gcc/ChangeLog
    branches/gcc-4_7-branch/gcc/config/i386/i386-protos.h
    branches/gcc-4_7-branch/gcc/config/i386/i386.c
    branches/gcc-4_7-branch/gcc/config/i386/i386.md
    branches/gcc-4_7-branch/gcc/config/i386/predicates.md



More information about the Gcc-cvs mailing list