From 59d5358068986fe275a2d96b2b63eff5c04f91e5 Mon Sep 17 00:00:00 2001
From: Lioncash <mathew1800@gmail.com>
Date: Thu, 6 Aug 2015 19:53:20 -0400
Subject: [PATCH] arm_disasm: Remove unnecessary code

This part of disassembly only determines the opcode, there's no need for offset calculation here.
---
 src/core/arm/disassembler/arm_disasm.cpp | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/src/core/arm/disassembler/arm_disasm.cpp b/src/core/arm/disassembler/arm_disasm.cpp
index f6d44d85a..aaf47b3f0 100644
--- a/src/core/arm/disassembler/arm_disasm.cpp
+++ b/src/core/arm/disassembler/arm_disasm.cpp
@@ -779,20 +779,12 @@ Opcode ARM_Disasm::Decode10(uint32_t insn) {
             return OP_LDM;
         return OP_STM;
     }
-    // Branch or Branch with link
-    uint8_t is_link = (insn >> 24) & 1;
-    uint32_t offset = insn & 0xffffff;
 
-    // Sign-extend the 24-bit offset
-    if ((offset >> 23) & 1)
-        offset |= 0xff000000;
+    // Branch with link
+    if ((insn >> 24) & 1)
+        return OP_BL;
 
-    // Pre-compute the left-shift and the prefetch offset
-    offset <<= 2;
-    offset += 8;
-    if (is_link == 0)
-        return OP_B;
-    return OP_BL;
+    return OP_B;
 }
 
 Opcode ARM_Disasm::Decode11(uint32_t insn) {