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
This commit is contained in:
Uros Bizjak 2006-05-08 08:10:03 +02:00 committed by Uros Bizjak
parent bca504069d
commit b81bd6c9a2
2 changed files with 23 additions and 1 deletions

View File

@ -1,3 +1,10 @@
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.

View File

@ -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: