blob: fd38b2cfdb834c6395ddb939b54d23345c51b8d9 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O2 -ffinite-math-only" } */
int
f1 (int a)
{
return a == 17 || a == 32;
}
int
f2 (int a)
{
return a == 33 || a == 18;
}
int
f3 (int a, int b)
{
return a == 19 && b == 34;
}
int
f4 (int a, int b)
{
return a == 35 && b == 20;
}
int
f5 (int a)
{
return a == 0 || a == 5;
}
int
f6 (int a)
{
return a == 6 || a == 0;
}
int
f7 (int a, int b)
{
return a == 0 && b == 7;
}
int
f8 (int a, int b)
{
return a == 9 && b == 0;
}
int
f9 (float a, float b)
{
return a < 0.0f && a > b;
}
int
f10 (float a, float b)
{
return a == b || b == 0.0f;
}
int
f11 (double a, int b)
{
return a < 0.0f && b == 30;
}
int
f12 (double a, int b)
{
return b == 31 || a == 0.0f;
}
int
f13 (int a, int b)
{
a += b;
return a == 3 || a == 0;
}
/* { dg-final { scan-assembler "cmp\t(.)+32" } } */
/* { dg-final { scan-assembler "cmp\t(.)+33" } } */
/* { dg-final { scan-assembler "cmp\t(.)+34" } } */
/* { dg-final { scan-assembler "cmp\t(.)+35" } } */
/* { dg-final { scan-assembler-times "\tcmp\tw\[0-9\]+, 0" 4 } } */
/* { dg-final { scan-assembler-times "fcmpe\t(.)+0\\.0" 2 } } */
/* { dg-final { scan-assembler-times "fcmp\t(.)+0\\.0" 2 } } */
/* { dg-final { scan-assembler "adds\t" } } */
/* { dg-final { scan-assembler-times "\tccmp\t" 11 } } */
/* { dg-final { scan-assembler-times "fccmp\t.*0\\.0" 1 } } */
/* { dg-final { scan-assembler-times "fccmpe\t.*0\\.0" 1 } } */