[RISCV] Add MC support of RISCV zcmp Extension
authorWuXinlong <821408745@qq.com>
Mon, 8 May 2023 05:21:00 +0000 (13:21 +0800)
committerWuXinlong <821408745@qq.com>
Mon, 8 May 2023 06:29:50 +0000 (14:29 +0800)
commit6b55e9117ebbd32d66b6f6ad12326a6b2acaef58
treee33b9bf149cbec340e96d9a3aac9d16aec1cdc47
parent173b8fece9ad0748a9b0c03a2b98c1c73954490d
[RISCV] Add MC support of RISCV zcmp Extension

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

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D132819
18 files changed:
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.cpp
llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h
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 [new file with mode: 0644]
llvm/test/MC/RISCV/rv32zcmp-valid.s [new file with mode: 0644]
llvm/test/MC/RISCV/rv64zcmp-invalid.s [new file with mode: 0644]
llvm/test/MC/RISCV/rv64zcmp-valid.s [new file with mode: 0644]