<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=http://email.email.llvm.org/c/eJzVlEtvnDAQxz8NXEZZAQ7scuCQDe2lUVUpUnuMjD2AU4OpbVgln75jQjaPqu2hpyIDHj_-85vxozHyobpV43cQ3HkH3sA8Wr6ghlZZ58FYiRYsitlaHAWCctBYM3e9BzVC7_3kInYVZR-pWFwUntxO62XYGdtRU81Ykh-i7BpOvRI99NxBZ5F76FFPwR-OvNEICwpvrHrkXpkRTAu-R9DGTNtcGjKaEygfCCw6b5XwasEg4VCYUf7KGqZycGqYaDYFiOB6c0IJBNEarc1Jjd0uSuoouXr6BofvUAKxVG1Lkj44nrWHk_L9CmhG_QCi52OHz8wOf8yrd7JbbShSbmn4gF6JAPQ2ZZ2RjdF-y9YjvZ_uv31hrJTtxlUkW1nNxShJ7OYuoegOwYqychu5P26VVZn62WR5N3AQmgDhTWxIs7lz84B3jrfoH84yAKRvg7qigBVErIYkYse1eg03Hz7fpfVFurZE2XEtJZydw9PTRPlRRXkNoZ8U-Ct7M7Jj-r4howYSPitF-_o5tvr1Mp2zkP6HSXgK80-J-GsS3u6JWFZMlqzkMZ99b2y1tLJt49nq6t1mo304NzthBjLCId1-F5M195QTMhWlAx1VclYmSdxXQjRpyQpMci4v8SCyw6WQfF_upczbpsxizRvUriLwKMtGpCMaJKhOYcT_TqCqLMmopPs0yVle7A5FyQ48b4pkLwpeFNFlggNX-nzrxLZaJZu5c9SpFV1sL5203qobEVdgIvTK69W4-RoW4bY3s5bg5mky1v_uZolXyGol_Akmu5X7>53900</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [LV] Should support second order recurrence
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          vfdff
      </td>
    </tr>
</table>

<pre>
    Sink casts to unravel first order recurrence is brought in https://reviews.llvm.org/D33058, which has great help to enable vectorization of the loop, while now it is restrictive to second order recurrence , a simple case showed as following.

loop vectorization has diffrent result with the only change of the sequence of float arithmetic, https://godbolt.org/z/KjWP339df
```
void foo_0 (void)
{
// #pragma clang loop vectorize(assume_safety)
   for (int i = 0; i < LEN_1D-1; i++) {
       b[i] += a[i] + a[i+1] + a[i+2];
   }
}

void foo_1(void)
{
// #pragma clang loop vectorize(assume_safety)
   for (int i = 0; i < LEN_1D-1; i++) {
       b[i] += a[i+2] + a[i+1] + a[i];
   }
}
```

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzVVE1vnDAQ_TXmMsoK8MIuBw7Z0F4aVZUitcfImAGcGkxtwyr59R0Tsk1StT0XGfB4PG_ePH_Upnks79T4HaRw3oE3MI9WLKihVdZ5MLZBCxblbC2OEkE5qK2Zu96DGqH3fnKMX7P0IzWLi8Kz22m9DDtjOxqqOI-zI0tv4Nwr2UMvHHQWhYce9RTy4ShqjbCg9MaqJ-GVGcG04HsEbcy0xdKU0ZxB-cDAovNWSa8WDBAOpRmb37mGUAFODRNFU4EIrjdnbIBItEZrc1Zjt2NxxeLr529I-I5KYNyotiVIHxLP2sNZ-X4laEb9CLIXY4cvnB3-mNfsZLfaUKXC0vQBvZKB0FvJOtPURvtNrSd6Pz18-8J50bQbrzze2mouRjXE3dzHVN0xWCwttpmH09ZZkcnPJyu6QYDURBDe1IYULZybB7x3okX_eIEBIHwb0BUVrIDxCmLGT2v3Bm4_fL5PqqtkHWHpaW0FXJLD81Oz7KRYVkHwE4J4ZW9GekreD6Q0QMAXJHaoXmqrXi_TRYXkPxThucy_CfFPEd7uiagpeVPwQkReeY0lYdx-DYh3vZl1A26eJmP9n45JNFtdvtuVtGHneifNQEY4zdvvarLmgcQjU5Fu6KiT8SKOo75M2j3HdJ9me96k2bHlh6OoZSJFtpe8kDzSokbtAjuWpiPSWQ4Q1CeqkSrTOKWWHJI441m-O-YFP4qszuODzEWes32Mg1D6crlEtlwp1XPnyKkV3V-_nLSsqhtxFSPgi9n3xpZL27RttCYuV-I_ASOsf7s">