re PR rtl-optimization/9016 (Failure to consistently constant fold "constant" C++ objects)

PR optimization/9016
	* config/i386/i386.c (ix86_expand_move): Force more CONST_DOUBLEs
	into the constant pool.

From-SVN: r64445
This commit is contained in:
Mark Mitchell 2003-03-16 20:13:36 +00:00 committed by Mark Mitchell
parent 0a71919d52
commit ddc6706714
2 changed files with 17 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2003-03-14 Mark Mitchell <mark@codesourcery.com>
PR optimization/9016
* config/i386/i386.c (ix86_expand_move): Force more CONST_DOUBLEs
into the constant pool.
2003-03-16 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
PR target/9164

View File

@ -8373,9 +8373,17 @@ ix86_expand_move (mode, operands)
if (strict)
;
else if (GET_CODE (op1) == CONST_DOUBLE
&& register_operand (op0, mode))
op1 = validize_mem (force_const_mem (mode, op1));
else if (GET_CODE (op1) == CONST_DOUBLE)
{
op1 = validize_mem (force_const_mem (mode, op1));
if (!register_operand (op0, mode))
{
rtx temp = gen_reg_rtx (mode);
emit_insn (gen_rtx_SET (VOIDmode, temp, op1));
emit_move_insn (op0, temp);
return;
}
}
}
}