From: Johnny Chen Date: Fri, 25 Mar 2011 17:31:16 +0000 (+0000) Subject: Instruction formats of SWP/SWPB were changed from LdStExFrm to MiscFrm. Modify the... X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=6c3891067b6e2e2aa399a57ecae407677f22391d;p=oota-llvm.git Instruction formats of SWP/SWPB were changed from LdStExFrm to MiscFrm. Modify the disassembler to handle that. rdar://problem/9184053 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128285 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp b/lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp index ff19a385cf4..3c48879eb36 100644 --- a/lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp +++ b/lib/Target/ARM/Disassembler/ARMDisassemblerCore.cpp @@ -2951,6 +2951,11 @@ static bool DisassembleMiscFrm(MCInst &MI, unsigned Opcode, uint32_t insn, case ARM::WFI: case ARM::SEV: return true; + case ARM::SWP: + case ARM::SWPB: + // SWP, SWPB: Rd Rm Rn + // Delegate to DisassembleLdStExFrm().... + return DisassembleLdStExFrm(MI, Opcode, insn, NumOps, NumOpsAdded, B); default: break; } diff --git a/test/MC/Disassembler/ARM/arm-tests.txt b/test/MC/Disassembler/ARM/arm-tests.txt index 16e6981382e..f4836772d5d 100644 --- a/test/MC/Disassembler/ARM/arm-tests.txt +++ b/test/MC/Disassembler/ARM/arm-tests.txt @@ -184,3 +184,6 @@ # CHECK: ldmdb sp, {r0, r4, r8, r11, r12, pc} 0x11 0x99 0x1d 0xe9 + +# CHECK: swpge r3, r2, [r6] +0x92 0x30 0x06 0xa1