/* Check that the SH specific sh_optimize_sett_clrt RTL optimization pass
   works as expected.  */
/* { dg-do compile }  */
/* { dg-options "-O2" } */
/* { dg-final { scan-assembler-times "clrt" 2 } } */
/* { dg-final { scan-assembler-times "sett" 1 } } */

long long
test_00 (long long a, long long b, long long c, int d)
{
  /* One of the blocks should have a clrt and the other one should not.  */
  if (d > 5)
    return a + b;
  else
    return a + c;
}

long long
test_01 (long long a, long long b)
{
  /* Must see a clrt because T bit is undefined at function entry.  */
  return a + b;
}

int
test_02 (int a, int b, int c, int d)
{
  /* One of the blocks should have a sett and the other one should not.  */
  if (d > 4)
    return a + b + 1;
  else
    return a + c + 1;
}
