[all-commits] [llvm/llvm-project] 0eb2f6: [RISCV][CodeGen] Account for LMUL for Vector Integ...

Michael Maitland via All-commits all-commits at lists.llvm.org
Thu Nov 3 09:19:03 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0eb2f663d27432111e3f0f68a0d586ade4c8036e
      https://github.com/llvm/llvm-project/commit/0eb2f663d27432111e3f0f68a0d586ade4c8036e
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2022-11-03 (Thu, 03 Nov 2022)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/lib/Target/RISCV/RISCVScheduleV.td

  Log Message:
  -----------
  [RISCV][CodeGen] Account for LMUL for Vector Integer Arithmetic Instructions

It is likley that subtargets act differently for a vector integer arithmetic instruction based on the LMUL.
This patch creates seperate SchedRead, SchedWrite, WriteRes, ReadAdvance for each relevant LMUL. It also
introduces the concept of an "UpperBound LMUL" which allows us to describe how an instruction should behave
when the LMUL is unknown. All base instructions use the UpperBound resources because they are not tied to
a specific LMUL. This gives subtargetes the flexibility to describe their own upper bounds on each vector
instruction.

I have a series of patches for the rest of the vector instruction set ready to go, but I would like to first
get feedback on the first one of the series (this one).

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




More information about the All-commits mailing list