1  /* { dg-do compile } */
       2  /* { dg-options "(HAS_MADD) -mgp32" } */
       3  /* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
       4  /* { dg-final { scan-assembler-times "\tmadd\t" 3 } } */
       5  
       6  NOMIPS16 long long
       7  f1 (int x, int y, long long z)
       8  {
       9    return (long long) x * y + z;
      10  }
      11  
      12  NOMIPS16 long long
      13  f2 (int x, int y, long long z)
      14  {
      15    return z + (long long) y * x;
      16  }
      17  
      18  NOMIPS16 long long
      19  f3 (int x, int y, long long z)
      20  {
      21    long long t = (long long) x * y;
      22    int temp = 5;
      23    if (temp == 5)
      24      z += t;
      25    return z;
      26  }