r174489 - in /trunk/gcc: ChangeLog config/i386/...

uros@gcc.gnu.org uros@gcc.gnu.org
Tue May 31 16:14:00 GMT 2011


Author: uros
Date: Tue May 31 16:14:08 2011
New Revision: 174489

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174489
Log:
	* config/i386/i386.md (*movtf_internal): Avoid allocating general
	registers.  Penalize F*r->o alternative to prevent partial memory
	stalls.  Slightly penalize *roF->*r alternative.  Generate SSE
	CONST_DOUBLE immediates when optimizing function for size.  Do not move
	CONST_DOUBLEs directly to memory for !TARGET_MEMORY_MISMATCH_STALL.
	(*movxf_internal): Slightly penalize Yx*roF->Yx*r alternative.
	(*movdf_internal): Slightly penalize Yd*roF->Yd*r alternative.
	(*movdf_internal_rex64): Slightly penalize rm->r, F->m and r->m
	alternatives.
	(*movsf_internal): Slightly penalize rmF->r and Fr->m alternatives.

	(fp_register_operand splitters): Use fp_register_operand
	constraint.  Do not use FP_REG_P in insn condition.
	(any_fp_register_operand splitters): Use any_fp_register_operand
	constraint.  Do not use ANY_FP_REG_P in insn condition.

	* config/i386/i386.md (*pushxf_nointeger): Merge alternatives 1 and 2.
	(FP push_operand splitters): Merge {TF,XF,DF}mode splitters.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/i386/i386.md



More information about the Gcc-cvs mailing list