[all-commits] [llvm/llvm-project] 0aecdd: [RISCV] Add Zce extension.

Craig Topper via All-commits all-commits at lists.llvm.org
Thu Jul 13 12:22:22 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0aecddcee98057300bdf2e2cd00f0eeefced3c81
      https://github.com/llvm/llvm-project/commit/0aecddcee98057300bdf2e2cd00f0eeefced3c81
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-07-13 (Thu, 13 Jul 2023)

  Changed paths:
    M llvm/lib/Support/RISCVISAInfo.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
    M llvm/test/CodeGen/RISCV/compress-float.ll
    M llvm/test/MC/RISCV/attribute-arch.s
    M llvm/test/MC/RISCV/option-arch.s
    M llvm/test/MC/RISCV/rv32fc-valid.s
    M llvm/unittests/Support/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [RISCV] Add Zce extension.

According to the spec, Zce is an alias for Zca, Zcb, Zcmp, and Zcmt.
If F is enabled on RV32 it also includes Zcf.

This patch adds the Zce and the implication rule which unfortunately
requires custom handling for adding Zcf.

I've also made all the Zc* extensions imply Zca.

I've also added an error for Zcf without RV32.

Reviewed By: asb

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




More information about the All-commits mailing list