[all-commits] [llvm/llvm-project] 791766: [RISCV] Support STEP_VECTOR with a step greater th...

Fraser Cormack via All-commits all-commits at lists.llvm.org
Fri Apr 30 01:44:05 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 791766e6d2e14f437a0b765cb7133c1509ac378e
      https://github.com/llvm/llvm-project/commit/791766e6d2e14f437a0b765cb7133c1509ac378e
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2021-04-30 (Fri, 30 Apr 2021)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/stepvector.ll

  Log Message:
  -----------
  [RISCV] Support STEP_VECTOR with a step greater than one

DAGCombiner was recently taught how to combine STEP_VECTOR nodes,
meaning the step value is no longer guaranteed to be one by the time it
reaches the backend for lowering.

This patch supports such cases on RISC-V by lowering to other step
values to a multiply following the vid.v instruction. It includes a
small optimization for common cases where the multiply can be expressed
as a shift left.

Reviewed By: rogfer01

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




More information about the All-commits mailing list