[all-commits] [llvm/llvm-project] 096292: [RISCV] Add a really basic cost model for SK_Splice.

Craig Topper via All-commits all-commits at lists.llvm.org
Wed Feb 9 11:43:56 PST 2022


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

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/test/Analysis/CostModel/RISCV/rvv-shuffle.ll
    A llvm/test/Analysis/CostModel/RISCV/splice.ll

  Log Message:
  -----------
  [RISCV] Add a really basic cost model for SK_Splice.

While testing scalable vectors I found that if we generate a
vector splice intrinsic and run the code through the loop unroller,
we'll crash due to an invalid cost.

This adds a basic cost based on the 2 slide instructions used by the
lowering in D119303.

We probably need to factor LMUL into this, but that's true for
arithmetic instructions too. So I've ignored for the moment.

Reviewed By: ABataev

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




More information about the All-commits mailing list