2 /* { dg-options "-O2 -ffast-math -msse -mfpmath=sse -mrecip" } */
5 extern float sqrtf (float);
6 float __attribute__((noinline)) broken (float a, float b)
11 extern void abort (void);
12 extern void *memcpy (void *, const void *, __SIZE_TYPE__);
18 char buf[sizeof (float)];
19 x = broken (0.0f, 10000.0f);
20 /* A convoluted way to check for the correct result (zero) for all
21 floating point formats.
22 We can't use ==, !=, or range checks, or isinf/isnan/isunordered,
23 because all of these will not do the right thing under -ffast-math,
24 as they can assume that neither nan nor inf are returned. */
25 memcpy (&buf, &x, sizeof (float));
26 for (i = 0; i < sizeof (float); i++)