[PATCH] D81398: [ARM] Always use reductions intrinsics under MVE

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 8 08:11:27 PDT 2020


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

Similar to a recent change to the X86 backend, this changes things so that we always produce a reduction intrinsics for all reduction types, not just the legal ones. This gives a better chance in the backend to custom lower them to something more suitable for MVE. Especially for something like fadd the in-order reduction produced during DAG lowering is already better than the shuffles produced in the midend, and we can do even better with a bit of custom lowering.


https://reviews.llvm.org/D81398

Files:
  llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
  llvm/test/Transforms/LoopVectorize/ARM/mve-reduce.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D81398.269230.patch
Type: text/x-patch
Size: 7580 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200608/d9efc0af/attachment-0001.bin>


More information about the llvm-commits mailing list