/* { dg-do compile } */
/* This test requires widening_mul */
/* { dg-options "(HAS_MADD) -mgp32 -fexpensive-optimizations" } */
/* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
/* { dg-final { scan-assembler-times "\tmsub\t" 2 } } */

NOMIPS16 long long
f1 (int x, int y, long long z)
{
  return z - (long long) y * x;
}

NOMIPS16 long long
f2 (int x, int y, long long z)
{
  long long t = (long long) x * y;
  int temp = 5;
  if (temp == 5)
    z -= t;
  return z;
}
