This patch add the instructions of zcmp extension.
Instructions in zcmp extension try to optimise mv inst and the prologue & epilogue in functions
co-author: @Scott Egerton, @ZirconLiu, @Lukacma, @Heda Chen, @luxufan, @heyiliang, @liaochunyu
Paths
| Differential D132819
[RISCV] Add MC support of RISCV zcmp Extension ClosedPublic Authored by VincentWu on Aug 28 2022, 8:24 PM.
Details Summary This patch add the instructions of zcmp extension. Instructions in zcmp extension try to optimise mv inst and the prologue & epilogue in functions co-author: @Scott Egerton, @ZirconLiu, @Lukacma, @Heda Chen, @luxufan, @heyiliang, @liaochunyu
Diff Detail
Event Timeline
VincentWu added a child revision: D134599: [RISCV] Readjusting the framestack for Zcmp.Sep 25 2022, 4:26 AM
VincentWu marked 2 inline comments as done. Comment Actions Need to update RISCVUsage.rst
VincentWu marked 18 inline comments as done. Comment Actionsaddress comments
Comment Actions LGTM with the last 4 few comments addressed.
This revision is now accepted and ready to land.May 2 2023, 10:48 AM VincentWu marked 4 inline comments as done. Comment Actionsaddress comments. A Decoding Conflict error of zcmt was reported when I rebase to upstream. refer to patch https://reviews.llvm.org/D149839 Comment Actions The instructions need a DecoderNamespace to separate them from c.fsdsp. See D149891 for how I've done it for Zcmt. This revision now requires changes to proceed.May 4 2023, 1:49 PM
This revision now requires changes to proceed.May 6 2023, 12:38 PM
This revision is now accepted and ready to land.May 7 2023, 10:43 PM This revision was landed with ongoing or failed builds.May 7 2023, 11:29 PM Closed by commit rG6b55e9117ebb: [RISCV] Add MC support of RISCV zcmp Extension (authored by VincentWu). · Explain Why This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 519423 clang/test/Preprocessor/riscv-target-features.c
llvm/docs/RISCVUsage.rst
llvm/lib/Support/RISCVISAInfo.cpp
llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h
llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
llvm/lib/Target/RISCV/RISCVFeatures.td
llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
llvm/lib/Target/RISCV/RISCVRegisterInfo.td
llvm/test/MC/RISCV/attribute-arch.s
llvm/test/MC/RISCV/rv32zcmp-invalid.s
llvm/test/MC/RISCV/rv32zcmp-valid.s
llvm/test/MC/RISCV/rv64zcmp-invalid.s
llvm/test/MC/RISCV/rv64zcmp-valid.s
|
Does this really belong in an MC patch?