Arm: Fix ldrd offset range [PR115153]
[official-gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / split-path-4.c
blobcbee6fce4b74c3e80254803a2d51eaa006641435
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fsplit-paths -fdump-tree-split-paths-details -w -fdisable-tree-thread1 -fdisable-tree-thread2" } */
4 /* Note: Threader causes the infinite loop in val & 1 sooner. */
6 unsigned long powi_lookup_cost (unsigned long, unsigned char *);
8 void
9 powi_cost (long n)
11 unsigned char cache[256];
12 unsigned long digit;
13 unsigned long val;
14 int result;
15 while (val >= 256)
17 if (val & 1)
19 result += powi_lookup_cost (digit, cache) + 3 + 1;
21 else
23 val >>= 1;
28 /* { dg-final { scan-tree-dump-times "Duplicating join block" 1 "split-paths" } } */