(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.target/
mips/
maddu-3.c
       1  /* { dg-do compile } */
       2  /* This test requires widening_mul */
       3  /* { dg-options "(HAS_MADD) -mgp32 -fexpensive-optimizations" } */
       4  /* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
       5  /* { dg-final { scan-assembler-times "\tmaddu\t" 3 } } */
       6  
       7  typedef unsigned int ui;
       8  typedef unsigned long long ull;
       9  
      10  NOMIPS16 ull
      11  f1 (ui x, ui y, ull z)
      12  {
      13    return (ull) x * y + z;
      14  }
      15  
      16  NOMIPS16 ull
      17  f2 (ui x, ui y, ull z)
      18  {
      19    return z + (ull) y * x;
      20  }
      21  
      22  NOMIPS16 ull
      23  f3 (ui x, ui y, ull z)
      24  {
      25    ull t = (ull) x * y;
      26    int temp = 5;
      27    if (temp == 5)
      28      z += t;
      29    return z;
      30  }