[PATCH] D94867: [ARM] Make a BE predicate bitcast consistent with the rest of llvm

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Jan 16 08:57:17 PST 2021


dmgreen created this revision.
dmgreen added reviewers: SjoerdMeijer, ostannard, simon_tatham, efriedma.
Herald added subscribers: danielkiss, hiraditya, kristof.beyls.
dmgreen requested review of this revision.
Herald added a project: LLVM.

We were storing predicate registers, such as a <8 x i1>, in the opposite order to how the rest of llvm expects. This actually turns out to be correct for the one place that usually uses it - the ScalarizeMaskedMemIntrin pass, but only because the pass was incorrect itself. This fixes the order so that bits are stored in the opposite order and bitcasts work as expected. This allows the Scalarization pass to be fixed, as in https://reviews.llvm.org/D94765.


https://reviews.llvm.org/D94867

Files:
  llvm/lib/Target/ARM/ARMISelLowering.cpp
  llvm/test/CodeGen/Thumb2/mve-masked-ldst.ll
  llvm/test/CodeGen/Thumb2/mve-masked-load.ll
  llvm/test/CodeGen/Thumb2/mve-masked-store.ll
  llvm/test/CodeGen/Thumb2/mve-pred-bitcast.ll
  llvm/test/CodeGen/Thumb2/mve-pred-loadstore.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D94867.317181.patch
Type: text/x-patch
Size: 51088 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210116/08636390/attachment.bin>


More information about the llvm-commits mailing list