Commit b81bd6c9 by Uros Bizjak Committed by Uros Bizjak

re PR target/27277 (standard i387 constant loading insns (fldz, fld1) are not generated anymore)

	PR target/27277
	* config/i386/i386.c (ix86_rtx_costs) [FLOAT_EXTEND]: For
	standard 80387 constants, raise the cost to prevent
	compress_float_constant() to generate load from memory.

From-SVN: r113622
parent bca50406
2006-05-08 Uros Bizjak <uros@kss-loka.si>
PR target/27277
* config/i386/i386.c (ix86_rtx_costs) [FLOAT_EXTEND]: For
standard 80387 constants, raise the cost to prevent
compress_float_constant() to generate load from memory.
2006-05-08 Kazu Hirata <kazu@codesourcery.com>
* config/arm/constraints.md (c): Fix a typo.
......
......@@ -17102,7 +17102,22 @@ ix86_rtx_costs (rtx x, int code, int outer_code, int *total)
if (!TARGET_SSE_MATH
|| mode == XFmode
|| (mode == DFmode && !TARGET_SSE2))
*total = 0;
/* For standard 80387 constants, raise the cost to prevent
compress_float_constant() to generate load from memory. */
switch (standard_80387_constant_p (XEXP (x, 0)))
{
case -1:
case 0:
*total = 0;
break;
case 1: /* 0.0 */
*total = 1;
break;
default:
*total = (x86_ext_80387_constants & TUNEMASK
|| optimize_size
? 1 : 0);
}
return false;
case ABS:
......
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