1  /* Not to fuse widening multiply with accumulate if the multiply has more than
       2     one uses.
       3     Note that for targets where pointer and int are of the same size or
       4     widening multiply-and-accumulate is not available, this test just passes.  */
       5  
       6  /* { dg-do compile } */
       7  /* { dg-options "-O2 -fdump-tree-widening_mul" } */
       8  
       9  typedef int ArrT [10][10];
      10  
      11  void
      12  foo (ArrT Arr, int Idx)
      13  {
      14    Arr[Idx][Idx] = 1;
      15    Arr[Idx + 10][Idx] = 2;
      16  }
      17  
      18  /* { dg-final { scan-tree-dump-not "WIDEN_MULT_PLUS_EXPR" "widening_mul" } } */