Commit 98d3d336 by Richard Sandiford Committed by Richard Sandiford

gcse.c (simple_mem): Return false for floating-point accesses if flag_float_store is true.

	* gcse.c (simple_mem): Return false for floating-point accesses
	if flag_float_store is true.

From-SVN: r65076
parent 6b2d1c9e
2003-03-31 Richard Sandiford <rsandifo@redhat.com>
* gcse.c (simple_mem): Return false for floating-point accesses
if flag_float_store is true.
2003-03-30 Roger Sayle <roger@eyesopen.com> 2003-03-30 Roger Sayle <roger@eyesopen.com>
* gcse.c (gcse_constant_p): New function to identify constants * gcse.c (gcse_constant_p): New function to identify constants
......
...@@ -6657,6 +6657,9 @@ simple_mem (x) ...@@ -6657,6 +6657,9 @@ simple_mem (x)
if (GET_MODE (x) == BLKmode) if (GET_MODE (x) == BLKmode)
return 0; return 0;
if (flag_float_store && FLOAT_MODE_P (GET_MODE (x)))
return 0;
if (!rtx_varies_p (XEXP (x, 0), 0)) if (!rtx_varies_p (XEXP (x, 0), 0))
return 1; return 1;
......
2003-03-31 Richard Sandiford <rsandifo@redhat.com>
* gcc.c-torture/execute/ieee/20030331-1.c: New test.
2003-03-30 Mark Mitchell <mark@codesourcery.com> 2003-03-30 Mark Mitchell <mark@codesourcery.com>
PR c++/7647 PR c++/7647
......
extern void exit (int);
extern void abort (void);
float x = -1.5f;
float
rintf ()
{
static const float TWO23 = 8388608.0;
if (__builtin_fabs (x) < TWO23)
{
if (x > 0.0)
{
x += TWO23;
x -= TWO23;
}
else if (x < 0.0)
{
x = TWO23 - x;
x = -(x - TWO23);
}
}
return x;
}
int main (void)
{
if (rintf () != -2.0)
abort ();
exit (0);
}
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