[all-commits] [llvm/llvm-project] 47fe3b: [RISCV] Use v(f)slide1down for build_vector with d...

Philip Reames via All-commits all-commits at lists.llvm.org
Mon Aug 7 07:56:10 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 47fe3b3b9a2649aba2ccbab91e530fbd247f8280
      https://github.com/llvm/llvm-project/commit/47fe3b3b9a2649aba2ccbab91e530fbd247f8280
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2023-08-07 (Mon, 07 Aug 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll

  Log Message:
  -----------
  [RISCV] Use v(f)slide1down for build_vector with dominant values

If we have a dominant value, we can still use a v(f)slide1down to handle the last value in the vector if that value is neither undef nor the dominant value.

Note that we can extend this idea to any tail of elements, but that's ends up being a near complete merge of the v(f)slide1down insert path, and requires a bit more untangling on profitability heuristics first.

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




More information about the All-commits mailing list