aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-11-13 16:57:53 +0000
committerRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-11-13 16:57:53 +0000
commit09de091cbea5c528a02474ced34099f1cb0f636e (patch)
treea23e6aed05f389610f99063142f5a23e4bf611ee /llvm/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp
parent4ddf59201a7e9175bfad25bfeba62c7cb1e9985b (diff)
downloadllvm-09de091cbea5c528a02474ced34099f1cb0f636e.zip
llvm-09de091cbea5c528a02474ced34099f1cb0f636e.tar.gz
llvm-09de091cbea5c528a02474ced34099f1cb0f636e.tar.bz2
[SystemZ] Add the general form of BCR
At the moment this is just the MC support. llvm-svn: 194585
Diffstat (limited to 'llvm/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp')
-rw-r--r--llvm/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp13
1 files changed, 5 insertions, 8 deletions
diff --git a/llvm/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp b/llvm/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp
index fc7fbf9..fc3c38d2 100644
--- a/llvm/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp
+++ b/llvm/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp
@@ -48,14 +48,11 @@ extern "C" void LLVMInitializeSystemZDisassembler() {
}
static DecodeStatus decodeRegisterClass(MCInst &Inst, uint64_t RegNo,
- const unsigned *Regs,
- bool isAddress = false) {
+ const unsigned *Regs) {
assert(RegNo < 16 && "Invalid register");
- if (!isAddress || RegNo) {
- RegNo = Regs[RegNo];
- if (RegNo == 0)
- return MCDisassembler::Fail;
- }
+ RegNo = Regs[RegNo];
+ if (RegNo == 0)
+ return MCDisassembler::Fail;
Inst.addOperand(MCOperand::CreateReg(RegNo));
return MCDisassembler::Success;
}
@@ -87,7 +84,7 @@ static DecodeStatus DecodeGR128BitRegisterClass(MCInst &Inst, uint64_t RegNo,
static DecodeStatus DecodeADDR64BitRegisterClass(MCInst &Inst, uint64_t RegNo,
uint64_t Address,
const void *Decoder) {
- return decodeRegisterClass(Inst, RegNo, SystemZMC::GR64Regs, true);
+ return decodeRegisterClass(Inst, RegNo, SystemZMC::GR64Regs);
}
static DecodeStatus DecodeFP32BitRegisterClass(MCInst &Inst, uint64_t RegNo,