<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=http://email.email.llvm.org/c/eJytVMmO2zAM_Rr5QjSw5S0--DBJOkXRHnorehooNr10FMmV5XSSry-tOOtM0AJTwQsX-fGRJrXW5S5_1Aa-tls0G20QvqBRKCFlfAmFFKqGUivGUws1KjTCImyxsNq0e2FbrUD0YLWGQm86iS8gTGubDdq2cKbBHnbpCmyD0CrCAKl1N4PG2q5n4QPjj3TVulxraWfa1KTt6W5M-uOT_vjtF_NXzH-Ynok_XU7d6raEZ0f5iSjPR53xbNqbLg4C0KooS9ogNWUkWbgKgIWLUVqSMhKadL6gi3ZmcPr8QJBsYWdEvRGgdCP2wpR33IeyOcxjqZBCi74fNvjUiwrt7kQSpnXJ75ko-Y4PSUs1SY7ZFTG4WC8sXjyzeEWbVzCcFMrFME4c57C_Ne7Ohmw0vgadlp0QDrB8Ed5CHx380nE0Bv8S4o0oyb0o8VtRonMUd1PNroOxdHU2kAKXbTXaDNrBqNN3p_03LXd4fm9QwWewZkfdDyVKpMHohLHHTr9s_nGWkMaCWp9g3ldFAgDQDug_VmxEG1naMS1H3_VwIdSdsZ95ZR6WWZgJTwy20SbfVmVVeYOR-c1gU-LDekb1IEXK7fH1oTP6J0GS2tJkYE9CHEZR6DV5XGCcVlFYFGkRJTzmWGVVijxO_ERUSeJJsUbZ55QJ41zhb3AQJFNO3vsZtDn3OfcDngZBFPjxrJhHcRSEIg39TJTzOYt83IhWzkac8czyTO4g10Pdk1O2ve3PThr9tlaIjjAxtK2VTrmq6fg__nKMdga3qKz7RVcHjHN7Lo3c5fAH0Y2l4w>53443</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [vectorization] complex arithmetic computation prevent the loop vectorization
        </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>
    For Livermore Kernel 7, clang don't generate vectorization as too complex arithmetic computation of the inner loop. https://godbolt.org/z/hr7YGoEPq

```
void kernel_7(void)
{
    for (long l=1 ; l<=loop ; l++ ) {
// #pragma nohazard
// #pragma clang loop vectorize(assume_safety)
        for (long k=0 ; k<n ; k++) {
            x[k] = u[k] + r*( z[k] + r*y[k] ) +
                   t*( u[k+3] + r*( u[k+2] + r*u[k+1] ) +
                      t*( u[k+6] + r*( u[k+5] + r*u[k+4] ) ) );
        }
    } 

    return;
}
```

When I try to delete part of the computation , either `u[k+3] + r*( u[k+2] + r*u[k+1] )`  or ` t*( u[k+6] + r*( u[k+5] + r*u[k+4] ) )` , then the clang can generate vectorization.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJytVEuPmzAQ_jXmMmoEBgIcOGw23apqD71VPa0MDI-ug6kx6Sa_vmOHPLtRK7WWMTPj8TefRzMuVLXLn5SGz90W9UZphE-oe5SQMP4IpRR9A5XqGU8MNNijFgZhi6VRutsL06kexAhGKSjVZpD4CkJ3pt2g6UpnmszBS9VgWoSuJwyQSg0LaI0ZRhY-MP5Es1FVoaRZKN2Qtqev1cm3D-r9lx_MXzP_YV6X_jydulVdBS-O8jNRTq3OeDb7JquDADRquiU5SEU3kixcB8DClZUeSbGEZp2vaJJnBqfjB4JkCwctmo2AXrViL3R1Z_uQNod5TBVSaDGO0wafR1Gj2Z1Iwjwu-b0QJd_xIemxnyXH7IoYXIxXFq9eWLwm5zVMJ4Xuohknjinsb427syGzxt9B52FmhAMsX4W30McNfrlxNAZ_E-KNKMt7UeK3okTnKO6jnF0HY8n6bCAFLsvK2jSaSfencyf_m5I7rF9b7OEjGL2j6ocKJVJjDEKbY6VfFr_tJaS2oNInmH_LIgEAKAf0HzNm0SxLY6_l6LsaLkV_p-0XXpWHVRZmwjOdkZgT6JWDBf_DmzBo3GJvXLyrbnHb3qRlfvNGEMxULAiDFCm3x9-7QavvdJbUjpoMRxLiMIpCr83LrCqXogzLglYRlUueVnEdZH5RhbFI0ZOiQDla_ozzHn-CgyCZbuB1Ofc59wOeBEEU-PGiTKM4CkKRhH4mqjRlkY8b0cmF5WEfL0_njlIxNSNtym4043mT3oCu6dGly-KLybRK59u6qmvPBc4d8V9MZZFI">