T2 Load/Store Multiple:
authorJohnny Chen <johnny.chen@apple.com>
Thu, 24 Mar 2011 21:36:56 +0000 (21:36 +0000)
committerJohnny Chen <johnny.chen@apple.com>
Thu, 24 Mar 2011 21:36:56 +0000 (21:36 +0000)
These instructions were changed to not embed the addressing mode within the MC instructions
We also need to update the corresponding assert stmt.  Also add a test case.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128240 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/Disassembler/ThumbDisassemblerCore.h
test/MC/Disassembler/ARM/thumb-tests.txt

index b9cafeb831bcf26f73ef0fc816e063201fdd103e..f9d2bd0d383315945c03040ee49129a1592c18cb 100644 (file)
@@ -1140,7 +1140,7 @@ static bool DisassembleThumb2LdStMul(MCInst &MI, unsigned Opcode, uint32_t insn,
           Opcode == ARM::t2STMIA || Opcode == ARM::t2STMIA_UPD ||
           Opcode == ARM::t2STMDB || Opcode == ARM::t2STMDB_UPD)
          && "Unexpected opcode");
-  assert(NumOps >= 5 && "Thumb2 LdStMul expects NumOps >= 5");
+  assert(NumOps >= 4 && "Thumb2 LdStMul expects NumOps >= 4");
 
   NumOpsAdded = 0;
 
index edf0f85870e61908dfdcdf8a40553e5649d37b79..6a010644e1b554a154104939fdb674e1a7c26a56 100644 (file)
 
 # CHECK:       vcmpe.f64       d8, #0
 0xb5 0xee 0xc0 0x8b
+
+# CHECK:       stmdb.w sp, {r0, r2, r3, r8, r11, lr}
+0x0d 0xe9 0x0d 0x49