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:
parent
bca504069d
commit
b81bd6c9a2
|
@ -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.
|
||||
|
|
|
@ -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:
|
||||
|
|
Loading…
Reference in New Issue