(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.dg/
tree-ssa/
ivopt_mult_2g.c
       1  /* { dg-do compile { target {{ i?86-*-* x86_64-*-* } && lp64 } } } */
       2  /* { dg-options "-O2 -fgimple -m64 -fdump-tree-ivopts-details" } */
       3  
       4  /* Exit tests 'i < N1' and 'p2 > p_limit2' can be replaced, so
       5   * two ivs i and p2 can be eliminate.  */
       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    int i;
      12    long unsigned int _1;
      13    long unsigned int _2;
      14    long int _3;
      15  
      16    __BB(2):
      17    _1 = (long unsigned int) N2_9(D);
      18    _2 = _1 * 8ul;
      19    p_limit2_11 = p2_10(D) + _2;
      20    if (N1_13(D) > 0)
      21      goto __BB3;
      22    else
      23      goto __BB13;
      24  
      25    __BB(13):
      26    goto __BB9;
      27  
      28    __BB(9):
      29    goto __BB6;
      30  
      31    __BB(3):
      32    p_22 = p_12(D) + 8ul;
      33    p2_23 = p2_10(D) + 8ul;
      34    if (p_limit2_11 < p2_23)
      35      goto __BB14;
      36    else
      37      goto __BB7;
      38  
      39    __BB(14):
      40    goto __BB9;
      41  
      42    __BB(7):
      43    goto __BB5;
      44  
      45    __BB(4):
      46    p_14 = p_27 + 8ul;
      47    p2_15 = p2_28 + 8ul;
      48    i_16 = i_29 + 1;
      49    if (p_limit2_11 < p2_15)
      50      goto __BB11;
      51    else
      52      goto __BB8;
      53  
      54    __BB(11):
      55    goto __BB6;
      56  
      57    __BB(8):
      58    goto __BB5;
      59  
      60    __BB(5):
      61    s_25 = __PHI (__BB7: 0l, __BB8: s_18);
      62    p_27 = __PHI (__BB7: p_22, __BB8: p_14);
      63    p2_28 = __PHI (__BB7: p2_23, __BB8: p2_15);
      64    i_29 = __PHI (__BB7: 1, __BB8: i_16);
      65    _3 = __MEM <long int> (p_27);
      66    s_18 = _3 + s_25;
      67    if (N1_13(D) > i_29)
      68      goto __BB4;
      69    else
      70      goto __BB12;
      71  
      72    __BB(12):
      73    goto __BB6;
      74  
      75    __BB(6):
      76    s_26 = __PHI (__BB12: s_18, __BB11: s_18, __BB9: 0l);
      77    return s_26;
      78  }
      79  
      80  /* { dg-final { scan-tree-dump-times "Replacing" 2 "ivopts"} } */