[all-commits] [llvm/llvm-project] a823bd: [RISCV][VP] Custom lower VP_STORE and VP_LOAD

Fraser Cormack via All-commits all-commits at lists.llvm.org
Tue Sep 7 03:03:28 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a823bdf3ab78748c9ff19ef5c55681af79785c65
      https://github.com/llvm/llvm-project/commit/a823bdf3ab78748c9ff19ef5c55681af79785c65
  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-vpload.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpstore.ll
    A llvm/test/CodeGen/RISCV/rvv/vpload.ll
    A llvm/test/CodeGen/RISCV/rvv/vpstore.ll

  Log Message:
  -----------
  [RISCV][VP] Custom lower VP_STORE and VP_LOAD

This patch adds support for the vector-predicated `VP_STORE` and
`VP_LOAD` nodes. We do this in the same way we lower `MSTORE` and
`MLOAD`: to regular load/store instructions via intrinsics.

One necessary change was made to `SelectionDAGLegalize` so that
`VP_STORE` nodes' operation actions are taken from the stored "value"
operands, in the same vein as `STORE` or `MSTORE`.

Reviewed By: craig.topper, rogfer01

Differential Revision: https://reviews.llvm.org/D108999




More information about the All-commits mailing list