[all-commits] [llvm/llvm-project] fceb3e: [ARM] MVE VADDLV lowering
David Green via All-commits
all-commits at lists.llvm.org
Wed Feb 19 03:08:16 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: fceb3e3b4aec635d4e31dda618c7e4c17516cdb9
https://github.com/llvm/llvm-project/commit/fceb3e3b4aec635d4e31dda618c7e4c17516cdb9
Author: David Green <david.green at arm.com>
Date: 2020-02-19 (Wed, 19 Feb 2020)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/lib/Target/ARM/ARMInstrMVE.td
M llvm/test/CodeGen/Thumb2/mve-vecreduce-add.ll
Log Message:
-----------
[ARM] MVE VADDLV lowering
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 incoming
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.
Differential Revision: https://reviews.llvm.org/D74224
More information about the All-commits
mailing list