if flag_float_store is true.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@65076
138bc75d-0d04-0410-961f-
82ee72b054a4
+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>
* gcse.c (gcse_constant_p): New function to identify constants
if (GET_MODE (x) == BLKmode)
return 0;
+ if (flag_float_store && FLOAT_MODE_P (GET_MODE (x)))
+ return 0;
+
if (!rtx_varies_p (XEXP (x, 0), 0))
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>
PR c++/7647
--- /dev/null
+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);
+}