/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-optimized -fno-ipa-icf" }  */

/* Should produce <=.  */
int test1 (int a, int b)
{
  return (a < b || a == b);
}

/* Should produce <=.  */
int test2 (int a, int b)
{
  int lt = a < b;
  int eq = a == b;

  return (lt || eq);
}

/* Should produce <= (just deleting redundant test).  */
int test3 (int a, int b)
{
  int lt = a <= b;
  int eq = a == b;

  return (lt || eq);
}

/* Should produce <= (operands reversed to test the swap logic).  */
int test4 (int a, int b)
{
  int lt = a < b;
  int eq = b == a;

  return (lt || eq);
}

/* Should produce constant 0.  */
int test5 (int a, int b)
{
  int lt = a < b;
  int eq = a == b;

  return (lt && eq);
}

/* { dg-final { scan-tree-dump-times " <= " 4 "optimized" } } */
/* { dg-final { scan-tree-dump-times "return 0" 1 "optimized" } } */
/* { dg-final { scan-tree-dump-not " < " "optimized" } } */
/* { dg-final { scan-tree-dump-not " == " "optimized" } } */
