/* Ensure jlt, jslt, jle and jsle instructions are not generated if
   -mjmpext is not enabled, and no 32-bit jump instructions are generated
   if -mjmp32 is not enabled.  */

/* { dg-do compile } */
/* { dg-options "-mno-jmpext -mno-jmp32" } */

int foo (int a, int b)
{
  if (a == 1)
    b += 1;
  if (a != 3)
    b += 2;
  if (a > 5)
    b += 3;
  if (a >= 7)
    b += 4;
  if (a < 9)
    b += 5;
  if (a <= 10)
    b += 6;

  return a + b;
}

unsigned int bar (unsigned int a, unsigned int b)
{
  if (a == 1)
    b += 1;
  if (a != 3)
    b += 2;
  if (a > 5)
    b += 3;
  if (a >= 7)
    b += 4;
  if (a < 9)
    b += 5;
  if (a <= 10)
    b += 6;

  return a + b;
}

/* { dg-final { scan-assembler-times "jlt\t0" 0 } } */
/* { dg-final { scan-assembler-times "jslt\t0" 0 } } */
/* { dg-final { scan-assembler-times "jle\t0" 0 } } */
/* { dg-final { scan-assembler-times "jsle\t0" 0 } } */
/* { dg-final { scan-assembler-times "jeq32\t0" 0 } } */
/* { dg-final { scan-assembler-times "jne32\t0" 0 } } */
/* { dg-final { scan-assembler-times "jlt32\t0" 0 } } */
/* { dg-final { scan-assembler-times "jgt32\t0" 0 } } */
/* { dg-final { scan-assembler-times "jle32\t0" 0 } } */
/* { dg-final { scan-assembler-times "jge32\t0" 0 } } */
/* { dg-final { scan-assembler-times "jslt32\t0" 0 } } */
/* { dg-final { scan-assembler-times "jsgt32\t0" 0 } } */
/* { dg-final { scan-assembler-times "jsle32\t0" 0 } } */
/* { dg-final { scan-assembler-times "jsge32\t0" 0 } } */