[all-commits] [llvm/llvm-project] c253e5: [Exegesis][RISCV] Add initial RVV support (#128767)

Min-Yih Hsu via All-commits all-commits at lists.llvm.org
Fri Feb 28 11:23:38 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: c253e5c9917b9dd8b0cbd35ef25f335a0901a8e0
      https://github.com/llvm/llvm-project/commit/c253e5c9917b9dd8b0cbd35ef25f335a0901a8e0
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2025-02-28 (Fri, 28 Feb 2025)

  Changed paths:
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    A llvm/test/tools/llvm-exegesis/RISCV/rvv/eligible-inst.test
    A llvm/test/tools/llvm-exegesis/RISCV/rvv/explicit-sew.test
    A llvm/test/tools/llvm-exegesis/RISCV/rvv/filter.test
    A llvm/test/tools/llvm-exegesis/RISCV/rvv/reduction.test
    A llvm/test/tools/llvm-exegesis/RISCV/rvv/self-aliasing.test
    A llvm/test/tools/llvm-exegesis/RISCV/rvv/skip-rm.test
    A llvm/test/tools/llvm-exegesis/RISCV/rvv/valid-sew-zvk.test
    A llvm/test/tools/llvm-exegesis/RISCV/rvv/valid-sew.test
    A llvm/test/tools/llvm-exegesis/RISCV/rvv/vlmax-only.test
    A llvm/test/tools/llvm-exegesis/RISCV/rvv/vtype-rm-setup.test
    M llvm/tools/llvm-exegesis/lib/MCInstrDescView.cpp
    M llvm/tools/llvm-exegesis/lib/MCInstrDescView.h
    M llvm/tools/llvm-exegesis/lib/RISCV/CMakeLists.txt
    A llvm/tools/llvm-exegesis/lib/RISCV/RISCVExegesisPasses.h
    A llvm/tools/llvm-exegesis/lib/RISCV/RISCVExegesisPostprocessing.cpp
    A llvm/tools/llvm-exegesis/lib/RISCV/RISCVExegesisPreprocessing.cpp
    M llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp
    M llvm/tools/llvm-exegesis/lib/SerialSnippetGenerator.cpp
    M llvm/tools/llvm-exegesis/lib/Target.cpp
    M llvm/tools/llvm-exegesis/lib/Target.h
    M llvm/tools/llvm-exegesis/llvm-exegesis.cpp

  Log Message:
  -----------
  [Exegesis][RISCV] Add initial RVV support (#128767)

This patch adds initial vector extension support to RISC-V's exegesis.
The strategy here is to enumerate all RVV _pseudo_ opcodes as their MC
opcode counterparts are kind of useless under this circumstance. We also
enumerate all possible VTYPE operands in each CodeTemplate
configuration. Various of MachineFunction Passes are used for post
processing the snippets, like inserting VSETVLI instructions.

See https://llvm.org/devmtg/2024-10/slides/techtalk/Hsu-RVV-Exegesis.pdf
for more technical details.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list