1  /* { dg-do compile { target {{ i?86-*-* x86_64-*-* } && lp64 } } } */
       2  /* { dg-options "-O2 -fgimple -m64 -fdump-tree-ivopts-details" } */
       3  
       4  /* The test 'if (p2 > p_limit2)' can be replaced, so iv p2 can be
       5   * eliminated.  */
       6  long int __GIMPLE (ssa,startwith("fix_loops"))
       7  foo (long int * p, long int * p2, int N1, int N2)
       8  {
       9    long int s;
      10    long int * p_limit2;
      11    long int * p_limit;
      12    long unsigned int _1;
      13    long unsigned int _2;
      14    long unsigned int _3;
      15    long unsigned int _4;
      16    long int _5;
      17  
      18    __BB(2):
      19    _1 = (long unsigned int) N1_10(D);
      20    _2 = _1 * 8ul;
      21    p_limit_12 = p_11(D) + _2;
      22    _3 = (long unsigned int) N2_13(D);
      23    _4 = _3 * 8ul;
      24    p_limit2_15 = p2_14(D) + _4;
      25    if (p_11(D) <= p_limit_12)
      26      goto __BB3;
      27    else
      28      goto __BB13;
      29  
      30    __BB(13):
      31    goto __BB9;
      32  
      33    __BB(9):
      34    goto __BB6;
      35  
      36    __BB(3):
      37    p_20 = p_11(D) + 8ul;
      38    p2_23 = p2_14(D) + 8ul;
      39    if (p_limit2_15 < p2_23)
      40      goto __BB14;
      41    else
      42      goto __BB7;
      43  
      44    __BB(14):
      45    goto __BB9;
      46  
      47    __BB(7):
      48    goto __BB5;
      49  
      50    __BB(4):
      51    p_16 = p_26 + 8ul;
      52    p2_17 = p2_27 + 8ul;
      53    if (p_limit2_15 < p2_17)
      54      goto __BB11;
      55    else
      56      goto __BB8;
      57  
      58    __BB(11):
      59    goto __BB6;
      60  
      61    __BB(8):
      62    goto __BB5;
      63  
      64    __BB(5):
      65    s_24 = __PHI (__BB7: 0l, __BB8: s_19);
      66    p_26 = __PHI (__BB7: p_20, __BB8: p_16);
      67    p2_27 = __PHI (__BB7: p2_23, __BB8: p2_17);
      68    _5 = __MEM <long int> (p_26);
      69    s_19 = _5 + s_24;
      70    if (p_limit_12 >= p_26)
      71      goto __BB4;
      72    else
      73      goto __BB12;
      74  
      75    __BB(12):
      76    goto __BB6;
      77  
      78    __BB(6):
      79    s_25 = __PHI (__BB12: s_19, __BB11: s_19, __BB9: 0l);
      80    return s_25;
      81  }
      82  
      83  /* { dg-final { scan-tree-dump-times "Replacing" 1 "ivopts" } } */