[PATCH] D76511: [ARM] Don't split trunc stores that can be better handled as VMOVN

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 20 09:44:42 PDT 2020


dmgreen created this revision.
dmgreen added reviewers: samparker, SjoerdMeijer, simon_tatham, ostannard.
Herald added subscribers: hiraditya, kristof.beyls.

We deliberately split stores of the form store(truncate(larger-than-legal-type)) into two stores, allowing each store to perform part of the truncate for free.

There are times however where it makes more sense to use VMOVN to de-interlace the results back into a single vector, and store that in one go. This adds a check for that situation, not splitting the store if it looks like a VMOVN can be more useful.


https://reviews.llvm.org/D76511

Files:
  llvm/lib/Target/ARM/ARMISelLowering.cpp
  llvm/test/CodeGen/Thumb2/mve-vmovnstore.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D76511.251672.patch
Type: text/x-patch
Size: 6587 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200320/10aeb930/attachment.bin>


More information about the llvm-commits mailing list