[all-commits] [llvm/llvm-project] 0c254b: [RISCV] Add support for selecting vrgather.vx/vi f...

Craig Topper via All-commits all-commits at lists.llvm.org
Wed Feb 10 10:04:06 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0c254b4a69db068a8813aa0e19e0ddb2226c3221
      https://github.com/llvm/llvm-project/commit/0c254b4a69db068a8813aa0e19e0ddb2226c3221
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2021-02-10 (Wed, 10 Feb 2021)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-vrgather.ll
    A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-vrgather.ll

  Log Message:
  -----------
  [RISCV] Add support for selecting vrgather.vx/vi for fixed vector splat shuffles.

The test cases extract a fixed element from a vector and splat it
into a vector. This gets DAG combined into a splat shuffle.

I've used some very wide vectors in the test to make sure we have
at least a couple tests where the element doesn't fit into the
uimm5 immediate of vrgather.vi so we fall back to vrgather.vx.

Reviewed By: frasercrmck

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




More information about the All-commits mailing list