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

Eli Friedman eli.friedman at gmail.com
Thu Oct 13 16:36:06 PDT 2011


Author: efriedma
Date: Thu Oct 13 18:36:06 2011
New Revision: 141914

URL: http://llvm.org/viewvc/llvm-project?rev=141914&view=rev
Log:
Fix undefined shift.  Patch by Ahmed Charles.


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=141914&r1=141913&r2=141914&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/Disassembler/ARMDisassembler.cpp (original)
+++ llvm/trunk/lib/Target/ARM/Disassembler/ARMDisassembler.cpp Thu Oct 13 18:36:06 2011
@@ -1011,7 +1011,7 @@
                                uint64_t Address, const void *Decoder) {
   uint32_t imm = Val & 0xFF;
   uint32_t rot = (Val & 0xF00) >> 7;
-  uint32_t rot_imm = (imm >> rot) | (imm << (32-rot));
+  uint32_t rot_imm = (imm >> rot) | (imm << ((32-rot) & 0x1F));
   Inst.addOperand(MCOperand::CreateImm(rot_imm));
   return MCDisassembler::Success;
 }





More information about the llvm-commits mailing list