re PR middle-end/25474 (Extra load for some FP code)

PR middle-end/25474
	* expr.c (compress_float_constant): Copy the narrow constant into
	a new pseudo before extending it to its final width.

From-SVN: r112991
This commit is contained in:
Roger Sayle 2006-04-16 23:33:51 +00:00 committed by Roger Sayle
parent 2ff619482d
commit d763e13096
2 changed files with 11 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2006-04-16 Roger Sayle <roger@eyesopen.com>
PR middle-end/25474
* expr.c (compress_float_constant): Copy the narrow constant into
a new pseudo before extending it to its final width.
2006-04-16 Roger Sayle <roger@eyesopen.com>
Andrew Pinski <pinskia@gcc.gnu.org>
Dale Johannesen <dalej@apple.com>

View File

@ -3346,7 +3346,11 @@ compress_float_constant (rtx x, rtx y)
}
else
continue;
/* For CSE's benefit, force the compressed constant pool entry
into a new pseudo. This constant may be used in different modes,
and if not, combine will put things back together for us. */
trunc_y = force_reg (srcmode, trunc_y);
emit_unop_insn (ic, x, trunc_y, UNKNOWN);
last_insn = get_last_insn ();