summaryrefslogtreecommitdiff
path: root/lib/Target/ARM/Disassembler
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2012-03-06 23:10:38 +0000
committerJim Grosbach <grosbach@apple.com>2012-03-06 23:10:38 +0000
commit4d0983a4d734280d481bb56472fe44ad0ddc447d (patch)
tree93f9ff122857f24e3bf44511080c1616b06e8f52 /lib/Target/ARM/Disassembler
parentc511c2827d9cebd16bc63041b5812f1fc5d57e06 (diff)
downloadllvm-4d0983a4d734280d481bb56472fe44ad0ddc447d.tar.gz
llvm-4d0983a4d734280d481bb56472fe44ad0ddc447d.tar.bz2
llvm-4d0983a4d734280d481bb56472fe44ad0ddc447d.tar.xz
ARM more NEON VLD/VST composite physical register refactoring.
Register pair, all lanes subscripting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152157 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/Disassembler')
-rw-r--r--lib/Target/ARM/Disassembler/ARMDisassembler.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/Target/ARM/Disassembler/ARMDisassembler.cpp b/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
index 6fdc49d143..7ba714e96e 100644
--- a/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
+++ b/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
@@ -2572,6 +2572,13 @@ static DecodeStatus DecodeVLD2DupInstruction(llvm::MCInst &Inst, unsigned Insn,
if (!Check(S, DecodeDPairRegisterClass(Inst, Rd, Address, Decoder)))
return MCDisassembler::Fail;
break;
+ case ARM::VLD2DUPd16x2: case ARM::VLD2DUPd32x2: case ARM::VLD2DUPd8x2:
+ case ARM::VLD2DUPd16x2wb_fixed: case ARM::VLD2DUPd16x2wb_register:
+ case ARM::VLD2DUPd32x2wb_fixed: case ARM::VLD2DUPd32x2wb_register:
+ case ARM::VLD2DUPd8x2wb_fixed: case ARM::VLD2DUPd8x2wb_register:
+ if (!Check(S, DecodeDPairSpacedRegisterClass(Inst, Rd, Address, Decoder)))
+ return MCDisassembler::Fail;
+ break;
default:
if (!Check(S, DecodeDPRRegisterClass(Inst, Rd, Address, Decoder)))
return MCDisassembler::Fail;