Whilst sub-optimial, it's better than the current selection failure.
Fixes: #64406
Paths
| Differential D157406
[SVE] Expand scalable vector ISD::BITCASTs when targeting big-endian. ClosedPublic Authored by paulwalker-arm on Aug 8 2023, 8:51 AM.
Details Summary Whilst sub-optimial, it's better than the current selection failure. Fixes: #64406
Diff Detail
Event TimelineComment Actions Ideally, we want to turn this into a vector shuffle, but this seems fine as a stopgap. This revision is now accepted and ready to land.Aug 8 2023, 11:17 AM Comment Actions Have you considered the rest of big endian for SVE? My understanding was that it has been mostly ignored up to this point, and that there might be other combines that are making little endian assumptions. Anything that uses a bitcast could be wrong if it changes the element size. Comment Actions
During initial SVE bring up we did attempt to make the implementation either big endian clean or a user visible error. However, without any real testing I can imagine there are places where this has regressed. I've no plans to actively pipe clean full big endian support, I just spotted the bug report and figured I'd reduce the barrier to others and perhaps that'll prompt more testing and reporting. Closed by commit rG3d65f8211f8d: [SVE] Expand scalable vector ISD::BITCASTs when targeting big-endian. (authored by paulwalker-arm). · Explain WhyAug 10 2023, 4:03 AM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 548963 llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
llvm/test/CodeGen/AArch64/sve-bitcast.ll
|