blob: 233829e1234e11784ec29864f696305c347fa25d [file] [log] [blame]
/* APPLE LOCAL file 6280380 */
/* The ARM backend was not recognizing that some operations cannot be
predicated, and was blindly generating un-predicated operations,
even though the branches were removed. */
/* { dg-do run } */
/* { dg-options "-Oz -marm" { target arm*-*-darwin* } } */
extern void abort (void);
int x = 1;
float one = 1.0;
float foobar (float a, float b, float c, float d)
{
if (x)
return a + b;
else
return c - d;
}
int main (void)
{
float result;
result = foobar (one, one, one, one);
if ((result) != 2.0f)
abort ();
return 0;
}