[all-commits] [llvm/llvm-project] f4dee8: [RISCV][VP] Custom lower VP_SCATTER and VP_GATHER
Fraser Cormack via All-commits
all-commits at lists.llvm.org
Tue Sep 7 02:53:05 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: f4dee8cb82d199f843b0ca7e9846470f3912f593
https://github.com/llvm/llvm-project/commit/f4dee8cb82d199f843b0ca7e9846470f3912f593
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2021-09-07 (Tue, 07 Sep 2021)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpscatter.ll
A llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
A llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
Log Message:
-----------
[RISCV][VP] Custom lower VP_SCATTER and VP_GATHER
This patch adds support for the `VP_SCATTER` and `VP_GATHER` nodes by
lowering them to RVV's `vsox`/`vlux` instructions, respectively. This
process is almost identical to the existing `MSCATTER`/`MGATHER` support.
One extra change was made to `SelectionDAGLegalize` so that
`VP_SCATTER`'s operation action is derived from its stored "value"
operand rather than its return type (which is always the chain).
Reviewed By: craig.topper, rogfer01
Differential Revision: https://reviews.llvm.org/D108987
More information about the All-commits
mailing list