[llvm] e6971e5 - [RISCV][NFC] Simplify vector register decoding methods (#70423)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 30 19:01:12 PDT 2023
Author: flyingcat
Date: 2023-10-31T10:01:07+08:00
New Revision: e6971e5a41fe30264af9a13c8f387c06f93c6d9c
URL: https://github.com/llvm/llvm-project/commit/e6971e5a41fe30264af9a13c8f387c06f93c6d9c
DIFF: https://github.com/llvm/llvm-project/commit/e6971e5a41fe30264af9a13c8f387c06f93c6d9c.diff
LOG: [RISCV][NFC] Simplify vector register decoding methods (#70423)
Combine redundant 'if' statements and simplify 'switch' statements.
Added:
Modified:
llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp b/llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
index e5ce029449a8c69..9bd7cacbf5f04b9 100644
--- a/llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
+++ b/llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
@@ -196,10 +196,7 @@ static DecodeStatus DecodeVRRegisterClass(MCInst &Inst, uint32_t RegNo,
static DecodeStatus DecodeVRM2RegisterClass(MCInst &Inst, uint32_t RegNo,
uint64_t Address,
const MCDisassembler *Decoder) {
- if (RegNo >= 32)
- return MCDisassembler::Fail;
-
- if (RegNo % 2)
+ if (RegNo >= 32 || RegNo % 2)
return MCDisassembler::Fail;
const RISCVDisassembler *Dis =
@@ -216,10 +213,7 @@ static DecodeStatus DecodeVRM2RegisterClass(MCInst &Inst, uint32_t RegNo,
static DecodeStatus DecodeVRM4RegisterClass(MCInst &Inst, uint32_t RegNo,
uint64_t Address,
const MCDisassembler *Decoder) {
- if (RegNo >= 32)
- return MCDisassembler::Fail;
-
- if (RegNo % 4)
+ if (RegNo >= 32 || RegNo % 4)
return MCDisassembler::Fail;
const RISCVDisassembler *Dis =
@@ -236,10 +230,7 @@ static DecodeStatus DecodeVRM4RegisterClass(MCInst &Inst, uint32_t RegNo,
static DecodeStatus DecodeVRM8RegisterClass(MCInst &Inst, uint32_t RegNo,
uint64_t Address,
const MCDisassembler *Decoder) {
- if (RegNo >= 32)
- return MCDisassembler::Fail;
-
- if (RegNo % 8)
+ if (RegNo >= 32 || RegNo % 8)
return MCDisassembler::Fail;
const RISCVDisassembler *Dis =
@@ -256,16 +247,11 @@ static DecodeStatus DecodeVRM8RegisterClass(MCInst &Inst, uint32_t RegNo,
static DecodeStatus decodeVMaskReg(MCInst &Inst, uint64_t RegNo,
uint64_t Address,
const MCDisassembler *Decoder) {
- MCRegister Reg = RISCV::NoRegister;
- switch (RegNo) {
- default:
+ if (RegNo > 2) {
return MCDisassembler::Fail;
- case 0:
- Reg = RISCV::V0;
- break;
- case 1:
- break;
}
+ MCRegister Reg = (RegNo == 0) ? RISCV::V0 : RISCV::NoRegister;
+
Inst.addOperand(MCOperand::createReg(Reg));
return MCDisassembler::Success;
}
More information about the llvm-commits
mailing list