[PATCH] D74224: [ARM] MVE VADDLV lowering

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 7 07:42:17 PST 2020


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

Following on from the extra VADDV lowering, this extends things to handle VADDLV which allows summing values into a pair of i32 registers, together treated as a i64. This needs to be done in DAGCombine too as the types are otherwise illegal, which is a fairly simple addition on top of the existing code.

There is also a VADDLVA instruction handled here, that adds the initial values from the two general purpose registers. As opposed to the non-long version where we could just add patterns for add(x, VADDV), the long version needs to handle this early before the i64 has being split into too many pieces.


https://reviews.llvm.org/D74224

Files:
  llvm/lib/Target/ARM/ARMISelLowering.cpp
  llvm/lib/Target/ARM/ARMISelLowering.h
  llvm/lib/Target/ARM/ARMInstrMVE.td
  llvm/test/CodeGen/Thumb2/mve-vecreduce-add.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D74224.243169.patch
Type: text/x-patch
Size: 12063 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200207/17848192/attachment.bin>


More information about the llvm-commits mailing list