[Bug target/123748] Conversion from long to float is not vectorized for aarch64 target
pinskia at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Jan 22 09:07:59 GMT 2026
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123748
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #1)
> To me it looks like LLVM does 4 scalar conversions? Is that profitable?
Oh yes it unrolls 4x and just does the store as a vector store. I am not sure
that is better after either.
Note sve is vectorized though:
```
.L2:
ld1d z31.d, p7/z, [x1, x2, lsl 3]
scvtf z31.s, p6/m, z31.d
st1w z31.d, p7, [x0, x2, lsl 2]
incd x2
whilelo p7.d, w2, w3
b.any .L2
```
More information about the Gcc-bugs
mailing list