mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-05 02:29:40 +08:00
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:
parent
0a71919d52
commit
ddc6706714
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user