[llvm-commits] [llvm] r156212 - /llvm/trunk/lib/Target/ARM/Disassembler/ARMDisassembler.cpp

Kevin Enderby enderby at apple.com
Fri May 4 15:02:27 PDT 2012


Author: enderby
Date: Fri May  4 17:02:27 2012
New Revision: 156212

URL: http://llvm.org/viewvc/llvm-project?rev=156212&view=rev
Log:
Fix a bug in the ARM disassembler for wide branch conditional instructions
where the symbolic operand's displacement was incorrectly shifted left by 1.
rdar://11387046

Modified:
    llvm/trunk/lib/Target/ARM/Disassembler/ARMDisassembler.cpp

Modified: llvm/trunk/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/Disassembler/ARMDisassembler.cpp?rev=156212&r1=156211&r2=156212&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/Disassembler/ARMDisassembler.cpp (original)
+++ llvm/trunk/lib/Target/ARM/Disassembler/ARMDisassembler.cpp Fri May  4 17:02:27 2012
@@ -3016,7 +3016,7 @@
 
 static DecodeStatus DecodeT2BROperand(MCInst &Inst, unsigned Val,
                                  uint64_t Address, const void *Decoder) {
-  if (!tryAddingSymbolicOperand(Address, Address + SignExtend32<22>(Val<<1) + 4,
+  if (!tryAddingSymbolicOperand(Address, Address + SignExtend32<22>(Val) + 4,
                                 true, 4, Inst, Decoder))
     Inst.addOperand(MCOperand::CreateImm(SignExtend32<21>(Val)));
   return MCDisassembler::Success;





More information about the llvm-commits mailing list