/* Ensure 32-bit ALU instructions are not generated if -malu32 is
   not enabled.  */

/* { dg-do compile } */
/* { dg-options "-mno-alu32" } */

int foo (int a, int b)
{
  a += 1;
  b += a;
  b -= 5;
  a -= a;

  a *= 2;
  b *= a;

  a |= 0xfafa;
  b |= a;
  b &= 0x00ffff00;
  b &= a;

  a <<= 2;
  b <<= a;
  b >>= 5;
  a >>= b;

  int c = a;
  int d = 5;

  d ^= a;
  c ^= 0xe5e5e5e5;
  c = -c;

  unsigned int x = a;
  unsigned int y = b;
  x /= 3;
  y /= x;
  x %= 4;
  y %= x;

  return a + b - c + d - x + y;
}

/* { dg-final { scan-assembler-times "mov32\t0" 0 } } */
/* { dg-final { scan-assembler-times "add32\t0" 0 } } */
/* { dg-final { scan-assembler-times "sub32\t0" 0 } } */
/* { dg-final { scan-assembler-times "mul32\t0" 0 } } */
/* { dg-final { scan-assembler-times "div32\t0" 0 } } */
/* { dg-final { scan-assembler-times "mod32\t0" 0 } } */
/* { dg-final { scan-assembler-times "neg32\t0" 0 } } */
/* { dg-final { scan-assembler-times "and32\t0" 0 } } */
/* { dg-final { scan-assembler-times "or32\t0" 0 } } */
/* { dg-final { scan-assembler-times "xor32\t0" 0 } } */
/* { dg-final { scan-assembler-times "rsh32\t0" 0 } } */
/* { dg-final { scan-assembler-times "lsh32\t0" 0 } } */
/* { dg-final { scan-assembler-times "arsh32\t0" 0 } } */
