PR testsuite/52641
[official-gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / slsr-22.c
blob6e56d9bb45164b1ce037b13c919f6f51c1011b32
1 /* Verify straight-line strength reduction for multiply candidates
2 with variable stride and control flow. */
4 /* { dg-do compile } */
5 /* { dg-options "-O3 -fdump-tree-optimized" } */
7 int
8 f (int n, int x, int stride)
10 int a, x1, x2, x3;
12 a = x * stride;
14 if (n > 64)
16 x1 = x + 3;
17 a += x1 * stride;
18 x2 = x1 + 3;
19 a += x2 * stride;
20 x3 = x2 + 3;
21 a += x3 * stride;
24 return a;
27 /* { dg-final { scan-tree-dump-times " \\* stride" 1 "optimized" } } */
28 /* { dg-final { scan-tree-dump-times " \\* 3" 1 "optimized" } } */
29 /* { dg-final { cleanup-tree-dump "optimized" } } */