aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp
diff options
context:
space:
mode:
authorSean Fertile <sfertile@ca.ibm.com>2019-02-12 17:48:22 +0000
committerSean Fertile <sfertile@ca.ibm.com>2019-02-12 17:48:22 +0000
commitc069452027267151f7edc699de1295830204539e (patch)
tree5f8ccde0cc19ffb4f6d015e3d46dfb37580ddda2 /llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp
parentacbb7ca26c657446124b117c1af7bfaaa524c0a3 (diff)
downloadllvm-c069452027267151f7edc699de1295830204539e.zip
llvm-c069452027267151f7edc699de1295830204539e.tar.gz
llvm-c069452027267151f7edc699de1295830204539e.tar.bz2
[PowerPC] Fix printing of negative offsets in call instruction dissasembly.
llvm-svn: 353865
Diffstat (limited to 'llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp')
-rw-r--r--llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp b/llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp
index 8f96951..9fb37c5 100644
--- a/llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp
+++ b/llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp
@@ -60,6 +60,14 @@ extern "C" void LLVMInitializePowerPCDisassembler() {
createPPCLEDisassembler);
}
+static DecodeStatus DecodePCRel24BranchTarget(MCInst &Inst, unsigned Imm,
+ uint64_t Addr,
+ const void *Decoder) {
+ int32_t Offset = SignExtend32<24>(Imm);
+ Inst.addOperand(MCOperand::createImm(Offset));
+ return MCDisassembler::Success;
+}
+
// FIXME: These can be generated by TableGen from the existing register
// encoding values!