Commit ddc67067 by Mark Mitchell Committed by Mark Mitchell

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
parent 0a71919d
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
......
......@@ -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;
}
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment