<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/63082>63082</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[SLP] gcc choose wider vector length than clang for float type
</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>
* test: https://gcc.godbolt.org/z/ebG5fdndY
```
const float delx = xtmp - x[j].x;
const float dely = ytmp - x[j].y;
const float delz = ztmp - x[j].z;
const float rsq = delx * delx + dely * dely + delz * delz;
```
* the kernel body of gcc: **VL = 4**
```
fsub v30.4s, v22.4s, v30.4s
zip1 v28.4s, v28.4s, v29.4s
zip1 v31.4s, v31.4s, v27.4s
fmul v29.4s, v30.4s, v30.4s
fsub v28.4s, v21.4s, v28.4s
fsub v31.4s, v23.4s, v31.4s
fmla v29.4s, v28.4s, v28.4s
fmla v29.4s, v31.4s, v31.4s
fdiv v27.4s, v16.4s, v29.4s
```
* the kernel body of clang: **VL = 2**
```
.LBB0_8: // Parent Loop BB0_5 Depth=1
ldrsw x16, [x15], #4
add x16, x6, x16, lsl #4
ldr d16, [x16]
ldr s17, [x16, #8]
fsub v16.2s, v6.2s, v16.2s
fsub s17, s7, s17
fmul v18.2s, v16.2s, v16.2s
faddp s18, v18.2s
fmadd s18, s17, s17, s18
fcmp s18, s0
b.ge .LBB0_7
fdiv s18, s3, s18 -- float r2inv = 1.0 / rsq;
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUVUuPqzYU_jVmcxTkBxCyYJE0SjezuFKlSl1VBpvHrYMpdjJJfn2FDWGgmRldhPz8zncePvbhxjRVK2WG4gOKjwG_2Fr32bUUZRnkWtwzRPdgpbGI7aG2tjOI7RE9IXqqiiKstMi1sqHuK0RPD0RPMv89LkUr_kL4iPAeJXj83RSeX6FbY6FUmlsQUt0AsSPc7LmDDdxQfPiJ4mN4Q-zwjeDdCd5XgvdZcIV_OPxjhX98o6g3_zo5byndT4PDaIJfuU8rj2ll5l0FYmzpHsDWEv6RfSsVDBEHXUJVFEO8ER0Qf7451ZGffRnW0lzyob8yHEYG0d_gSuk08msL_KPpCFxp-gTPo91rsCMnT8rniG5nfHm-KAf0JLPuT6x4Wv1BPVmaNBI_3Zu32dKWJfFZ8ZUha1-_w699XeJFc_X47YQiyYsI_tLZF4q31f9On35x-uHb4YD_TgeZbz5_cQHgB-9la-FN6w4G4RiOsrM1YkeydFGJ3rwDwI0kg1coPtxIjOKjm1AWLdFcCNeP6Jtv_UQZ9UJCid714gN_MvC_RBmy_YDyJqQz-pkfJAmpP4XnwC-9zLuR1fiWbNdpTNIlyWd0XIjO0aUeks6Q8uxDM-5NGqcuXTEV5w4-oFe3PA8rCf7Qt68TchJkIz0AbDbTU0ab9upyioR4yIjhcfvsmQpExsSO7XggM5Kk8TaJUhoFdUZ3JZOCl6UsI5rycseIlJEkMtqmEcNF0GQUU4YTzHCEMY1CIneC50lEGE-3O75DEZZn3qhQqet5KCBBY8xFZgnDKQ0Uz6UyrixR2sp3cJuI0qFK9dkgs8kvlUERVo2xZmaxjVWunv3x9gPFx-EthaLW2kh4b4Ts4SoLq3tQsq1sDbbmrb9zUOp-jJG9dzK49CpbVbzG1pc8LPQZ0dOgcOw2Xa9_ysIienJmGkRPzo3_AgAA___eFerc">