[llvm-commits] [llvm] r124492 - in /llvm/trunk: lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp test/MC/Disassembler/ARM/arm-tests.txt

Bob Wilson bob.wilson at apple.com
Fri Jan 28 09:50:30 PST 2011


Author: bwilson
Date: Fri Jan 28 11:50:30 2011
New Revision: 124492

URL: http://llvm.org/viewvc/llvm-project?rev=124492&view=rev
Log:
PR9030: Fix disassembly of ARM "mov pc, lr" instruction.
Patch by Jyun-Yan You.

Modified:
    llvm/trunk/lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp
    llvm/trunk/test/MC/Disassembler/ARM/arm-tests.txt

Modified: llvm/trunk/lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp?rev=124492&r1=124491&r2=124492&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp (original)
+++ llvm/trunk/lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp Fri Jan 28 11:50:30 2011
@@ -801,8 +801,8 @@
 
   OpIdx = 0;
 
-  // BX_RET has only two predicate operands, do an early return.
-  if (Opcode == ARM::BX_RET)
+  // BX_RET and MOVPCLR have only two predicate operands; do an early return.
+  if (Opcode == ARM::BX_RET || Opcode == ARM::MOVPCLR)
     return true;
 
   // BLXr9 and BX take one GPR reg.

Modified: llvm/trunk/test/MC/Disassembler/ARM/arm-tests.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Disassembler/ARM/arm-tests.txt?rev=124492&r1=124491&r2=124492&view=diff
==============================================================================
--- llvm/trunk/test/MC/Disassembler/ARM/arm-tests.txt (original)
+++ llvm/trunk/test/MC/Disassembler/ARM/arm-tests.txt Fri Jan 28 11:50:30 2011
@@ -9,6 +9,9 @@
 # CHECK:	bfi	r8, r0, #16, #1
 0x10 0x88 0xd0 0xe7
 
+# CHECK:	mov	pc, lr
+0x0e 0xf0 0xa0 0xe1
+
 # CHECK:	cmn	r0, #1
 0x01 0x00 0x70 0xe3
 





More information about the llvm-commits mailing list