1 /* { dg-do compile { target {{ i?86-*-* x86_64-*-* } && lp64 } } } */
2 /* { dg-options "-O2 -m64 -fdump-tree-ivopts-details" } */
3 
4 /* The test 'if (p2 > p_limit2)' can be replaced, so iv p2 can be
5  * eliminated.  */
foo(long * p,long * p2,int N1,int N2)6 long foo(long* p, long* p2, int N1, int N2)
7 {
8   int i = 0;
9   long* p_limit = p + N1;
10   long* p_limit2 = p2 + N2;
11   long s = 0;
12   while (p  <= p_limit)
13     {
14       p++;
15       p2++;
16       if (p2 > p_limit2)
17         break;
18       s += (*p);
19     }
20   return s;
21 }
22 
23 /* { dg-final { scan-tree-dump-times "Replacing" 1 "ivopts"} } */
24