PR c/64440
[official-gcc.git] / gcc / testsuite / gcc.dg / wmul-1.c
blob3e762f4c18c652a350a80afeb98cbcb2a2a66495
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. */
6 /* { dg-do compile } */
7 /* { dg-options "-O2 -fdump-tree-widening_mul" } */
9 typedef int ArrT [10][10];
11 void
12 foo (ArrT Arr, int Idx)
14 Arr[Idx][Idx] = 1;
15 Arr[Idx + 10][Idx] = 2;
18 /* { dg-final { scan-tree-dump-not "WIDEN_MULT_PLUS_EXPR" "widening_mul" } } */
19 /* { dg-final { cleanup-tree-dump "widening_mul" } } */