[all-commits] [llvm/llvm-project] 552fc3: [RISCV] Add test for small vector copies

Luke Lau via All-commits all-commits at lists.llvm.org
Wed May 24 02:25:58 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 552fc3928a807d9bd549bae9845d2ab787a90ab6
      https://github.com/llvm/llvm-project/commit/552fc3928a807d9bd549bae9845d2ab787a90ab6
  Author: Luke Lau <luke at igalia.com>
  Date:   2023-05-24 (Wed, 24 May 2023)

  Changed paths:
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-load-store.ll

  Log Message:
  -----------
  [RISCV] Add test for small vector copies

Reviewed By: reames

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


  Commit: 28b21c4c747873d92697a6f57e34e4d52d772846
      https://github.com/llvm/llvm-project/commit/28b21c4c747873d92697a6f57e34e4d52d772846
  Author: Luke Lau <luke at igalia.com>
  Date:   2023-05-24 (Wed, 24 May 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-load-store.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-load-store.ll

  Log Message:
  -----------
  [RISCV] Scalarize small fixed vector copies < XLEN

For small fixed-length vector copies like
vsetivli   zero, 2, e16, m1, ta, ma
vle16.v    v8, (a0)
vse16.v    v8, (a1)

We can scalarize them if the total vector size < XLEN:
lw a0, 0(a0)
sw a0, 0(a1)

This patch adds a DAG combine to do so, reusing much of the existing
logic in https://reviews.llvm.org/D150717

Reviewed By: reames

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


Compare: https://github.com/llvm/llvm-project/compare/725fcf40c3e5...28b21c4c7478


More information about the All-commits mailing list