From efec1396accbff7e6e652ffb0e77c56e6c0b7a42 Mon Sep 17 00:00:00 2001 From: Scott Linder Date: Tue, 5 Mar 2019 03:02:00 +0000 Subject: [AMDGPU] Implement AMDGPUMCInstrAnalysis Implement MCInstrAnalysis for AMDGPU, with default implementations save for `evaluateBranch`. Differential Revision: https://reviews.llvm.org/D58400 llvm-svn: 355373 --- llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp') diff --git a/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp b/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp index 0acd30f5408..58c9c93af05 100644 --- a/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp +++ b/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp @@ -76,6 +76,8 @@ static DecodeStatus decodeSoppBrTarget(MCInst &Inst, unsigned Imm, uint64_t Addr, const void *Decoder) { auto DAsm = static_cast(Decoder); + // Our branches take a simm16, but we need two extra bits to account for the + // factor of 4. APInt SignedOffset(18, Imm * 4, true); int64_t Offset = (SignedOffset.sext(64) + 4 + Addr).getSExtValue(); -- cgit v1.2.3