[llvm] r175164 - Make ARMAsmParser accept the correct alignment specifier syntax in instructions.
Kristof Beyls
kristof.beyls at arm.com
Thu Feb 14 06:46:13 PST 2013
Author: kbeyls
Date: Thu Feb 14 08:46:12 2013
New Revision: 175164
URL: http://llvm.org/viewvc/llvm-project?rev=175164&view=rev
Log:
Make ARMAsmParser accept the correct alignment specifier syntax in instructions.
The parser will now accept instructions with alignment specifiers written like
vld1.8 {d16}, [r0:64]
, while also still accepting the incorrect syntax
vld1.8 {d16}, [r0, :64]
Modified:
llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
llvm/trunk/test/CodeGen/ARM/inlineasm3.ll
llvm/trunk/test/MC/ARM/neon-vld-encoding.s
llvm/trunk/test/MC/ARM/neon-vst-encoding.s
llvm/trunk/test/MC/ARM/neont2-vld-encoding.s
llvm/trunk/test/MC/ARM/neont2-vst-encoding.s
llvm/trunk/test/MC/Disassembler/ARM/invalid-VST1d8Twb_register-thumb.txt
Modified: llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp?rev=175164&r1=175163&r2=175164&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp (original)
+++ llvm/trunk/lib/Target/ARM/AsmParser/ARMAsmParser.cpp Thu Feb 14 08:46:12 2013
@@ -4237,9 +4237,10 @@ parseMemory(SmallVectorImpl<MCParsedAsmO
if (BaseRegNum == -1)
return Error(BaseRegTok.getLoc(), "register expected");
- // The next token must either be a comma or a closing bracket.
+ // The next token must either be a comma, a colon or a closing bracket.
const AsmToken &Tok = Parser.getTok();
- if (!Tok.is(AsmToken::Comma) && !Tok.is(AsmToken::RBrac))
+ if (!Tok.is(AsmToken::Colon) && !Tok.is(AsmToken::Comma) &&
+ !Tok.is(AsmToken::RBrac))
return Error(Tok.getLoc(), "malformed memory operand");
if (Tok.is(AsmToken::RBrac)) {
@@ -4259,8 +4260,11 @@ parseMemory(SmallVectorImpl<MCParsedAsmO
return false;
}
- assert(Tok.is(AsmToken::Comma) && "Lost comma in memory operand?!");
- Parser.Lex(); // Eat the comma.
+ assert((Tok.is(AsmToken::Colon) || Tok.is(AsmToken::Comma)) &&
+ "Lost colon or comma in memory operand?!");
+ if (Tok.is(AsmToken::Comma)) {
+ Parser.Lex(); // Eat the comma.
+ }
// If we have a ':', it's an alignment specifier.
if (Parser.getTok().is(AsmToken::Colon)) {
Modified: llvm/trunk/test/CodeGen/ARM/inlineasm3.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/inlineasm3.ll?rev=175164&r1=175163&r2=175164&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/ARM/inlineasm3.ll (original)
+++ llvm/trunk/test/CodeGen/ARM/inlineasm3.ll Thu Feb 14 08:46:12 2013
@@ -30,7 +30,7 @@ entry:
define hidden void @conv4_8_E() nounwind {
entry:
-%asmtmp31 = call %0 asm "vld1.u8 {$0}, [$1, :128]!\0A", "=w,=r,1"(<16 x i8>* undef) nounwind
+%asmtmp31 = call %0 asm "vld1.u8 {$0}, [$1:128]!\0A", "=w,=r,1"(<16 x i8>* undef) nounwind
unreachable
}
Modified: llvm/trunk/test/MC/ARM/neon-vld-encoding.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ARM/neon-vld-encoding.s?rev=175164&r1=175163&r2=175164&view=diff
==============================================================================
--- llvm/trunk/test/MC/ARM/neon-vld-encoding.s (original)
+++ llvm/trunk/test/MC/ARM/neon-vld-encoding.s Thu Feb 14 08:46:12 2013
@@ -1,59 +1,59 @@
@ RUN: llvm-mc -mcpu=cortex-a8 -triple armv7-apple-darwin -show-encoding < %s | FileCheck %s
- vld1.8 {d16}, [r0, :64]
+ vld1.8 {d16}, [r0:64]
vld1.16 {d16}, [r0]
vld1.32 {d16}, [r0]
vld1.64 {d16}, [r0]
- vld1.8 {d16, d17}, [r0, :64]
- vld1.16 {d16, d17}, [r0, :128]
+ vld1.8 {d16, d17}, [r0:64]
+ vld1.16 {d16, d17}, [r0:128]
vld1.32 {d16, d17}, [r0]
vld1.64 {d16, d17}, [r0]
vld1.8 {d1, d2, d3}, [r3]
- vld1.16 {d4, d5, d6}, [r3, :64]
+ vld1.16 {d4, d5, d6}, [r3:64]
vld1.32 {d5, d6, d7}, [r3]
- vld1.64 {d6, d7, d8}, [r3, :64]
+ vld1.64 {d6, d7, d8}, [r3:64]
vld1.8 {d1, d2, d3, d4}, [r3]
- vld1.16 {d4, d5, d6, d7}, [r3, :64]
+ vld1.16 {d4, d5, d6, d7}, [r3:64]
vld1.32 {d5, d6, d7, d8}, [r3]
- vld1.64 {d6, d7, d8, d9}, [r3, :64]
+ vld1.64 {d6, d7, d8, d9}, [r3:64]
- vld1.8 {d16}, [r0, :64]!
+ vld1.8 {d16}, [r0:64]!
vld1.16 {d16}, [r0]!
vld1.32 {d16}, [r0]!
vld1.64 {d16}, [r0]!
- vld1.8 {d16, d17}, [r0, :64]!
- vld1.16 {d16, d17}, [r0, :128]!
+ vld1.8 {d16, d17}, [r0:64]!
+ vld1.16 {d16, d17}, [r0:128]!
vld1.32 {d16, d17}, [r0]!
vld1.64 {d16, d17}, [r0]!
- vld1.8 {d16}, [r0, :64], r5
+ vld1.8 {d16}, [r0:64], r5
vld1.16 {d16}, [r0], r5
vld1.32 {d16}, [r0], r5
vld1.64 {d16}, [r0], r5
- vld1.8 {d16, d17}, [r0, :64], r5
- vld1.16 {d16, d17}, [r0, :128], r5
+ vld1.8 {d16, d17}, [r0:64], r5
+ vld1.16 {d16, d17}, [r0:128], r5
vld1.32 {d16, d17}, [r0], r5
vld1.64 {d16, d17}, [r0], r5
vld1.8 {d1, d2, d3}, [r3]!
- vld1.16 {d4, d5, d6}, [r3, :64]!
+ vld1.16 {d4, d5, d6}, [r3:64]!
vld1.32 {d5, d6, d7}, [r3]!
- vld1.64 {d6, d7, d8}, [r3, :64]!
+ vld1.64 {d6, d7, d8}, [r3:64]!
vld1.8 {d1, d2, d3}, [r3], r6
- vld1.16 {d4, d5, d6}, [r3, :64], r6
+ vld1.16 {d4, d5, d6}, [r3:64], r6
vld1.32 {d5, d6, d7}, [r3], r6
- vld1.64 {d6, d7, d8}, [r3, :64], r6
+ vld1.64 {d6, d7, d8}, [r3:64], r6
vld1.8 {d1, d2, d3, d4}, [r3]!
- vld1.16 {d4, d5, d6, d7}, [r3, :64]!
+ vld1.16 {d4, d5, d6, d7}, [r3:64]!
vld1.32 {d5, d6, d7, d8}, [r3]!
- vld1.64 {d6, d7, d8, d9}, [r3, :64]!
+ vld1.64 {d6, d7, d8, d9}, [r3:64]!
vld1.8 {d1, d2, d3, d4}, [r3], r8
- vld1.16 {d4, d5, d6, d7}, [r3, :64], r8
+ vld1.16 {d4, d5, d6, d7}, [r3:64], r8
vld1.32 {d5, d6, d7, d8}, [r3], r8
- vld1.64 {d6, d7, d8, d9}, [r3, :64], r8
+ vld1.64 {d6, d7, d8, d9}, [r3:64], r8
@ CHECK: vld1.8 {d16}, [r0, :64] @ encoding: [0x1f,0x07,0x60,0xf4]
@ CHECK: vld1.16 {d16}, [r0] @ encoding: [0x4f,0x07,0x60,0xf4]
@@ -111,26 +111,26 @@
@ CHECK: vld1.64 {d6, d7, d8, d9}, [r3, :64], r8 @ encoding: [0xd8,0x62,0x23,0xf4]
- vld2.8 {d16, d17}, [r0, :64]
- vld2.16 {d16, d17}, [r0, :128]
+ vld2.8 {d16, d17}, [r0:64]
+ vld2.16 {d16, d17}, [r0:128]
vld2.32 {d16, d17}, [r0]
- vld2.8 {d16, d17, d18, d19}, [r0, :64]
- vld2.16 {d16, d17, d18, d19}, [r0, :128]
- vld2.32 {d16, d17, d18, d19}, [r0, :256]
+ vld2.8 {d16, d17, d18, d19}, [r0:64]
+ vld2.16 {d16, d17, d18, d19}, [r0:128]
+ vld2.32 {d16, d17, d18, d19}, [r0:256]
- vld2.8 {d19, d20}, [r0, :64]!
- vld2.16 {d16, d17}, [r0, :128]!
+ vld2.8 {d19, d20}, [r0:64]!
+ vld2.16 {d16, d17}, [r0:128]!
vld2.32 {q10}, [r0]!
- vld2.8 {d4-d7}, [r0, :64]!
- vld2.16 {d1, d2, d3, d4}, [r0, :128]!
- vld2.32 {q7, q8}, [r0, :256]!
+ vld2.8 {d4-d7}, [r0:64]!
+ vld2.16 {d1, d2, d3, d4}, [r0:128]!
+ vld2.32 {q7, q8}, [r0:256]!
- vld2.8 {d19, d20}, [r0, :64], r6
- vld2.16 {d16, d17}, [r0, :128], r6
+ vld2.8 {d19, d20}, [r0:64], r6
+ vld2.16 {d16, d17}, [r0:128], r6
vld2.32 {q10}, [r0], r6
- vld2.8 {d4-d7}, [r0, :64], r6
- vld2.16 {d1, d2, d3, d4}, [r0, :128], r6
- vld2.32 {q7, q8}, [r0, :256], r6
+ vld2.8 {d4-d7}, [r0:64], r6
+ vld2.16 {d1, d2, d3, d4}, [r0:128], r6
+ vld2.32 {q7, q8}, [r0:256], r6
@ CHECK: vld2.8 {d16, d17}, [r0, :64] @ encoding: [0x1f,0x08,0x60,0xf4]
@ CHECK: vld2.16 {d16, d17}, [r0, :128] @ encoding: [0x6f,0x08,0x60,0xf4]
@@ -157,7 +157,7 @@
vld3.8 {d16, d17, d18}, [r1]
vld3.16 {d6, d7, d8}, [r2]
vld3.32 {d1, d2, d3}, [r3]
- vld3.8 {d16, d18, d20}, [r0, :64]
+ vld3.8 {d16, d18, d20}, [r0:64]
vld3.u16 {d27, d29, d31}, [r4]
vld3.i32 {d6, d8, d10}, [r5]
@@ -171,7 +171,7 @@
vld3.p8 {d6, d7, d8}, [r8]!
vld3.16 {d9, d10, d11}, [r7]!
vld3.f32 {d1, d2, d3}, [r6]!
- vld3.8 {d16, d18, d20}, [r0, :64]!
+ vld3.8 {d16, d18, d20}, [r0:64]!
vld3.p16 {d20, d22, d24}, [r5]!
vld3.32 {d5, d7, d9}, [r4]!
@@ -196,24 +196,24 @@
@ CHECK: vld3.32 {d5, d7, d9}, [r4]! @ encoding: [0x8d,0x55,0x24,0xf4]
- vld4.8 {d16, d17, d18, d19}, [r1, :64]
- vld4.16 {d16, d17, d18, d19}, [r2, :128]
- vld4.32 {d16, d17, d18, d19}, [r3, :256]
- vld4.8 {d17, d19, d21, d23}, [r5, :256]
+ vld4.8 {d16, d17, d18, d19}, [r1:64]
+ vld4.16 {d16, d17, d18, d19}, [r2:128]
+ vld4.32 {d16, d17, d18, d19}, [r3:256]
+ vld4.8 {d17, d19, d21, d23}, [r5:256]
vld4.16 {d17, d19, d21, d23}, [r7]
vld4.32 {d16, d18, d20, d22}, [r8]
- vld4.s8 {d16, d17, d18, d19}, [r1, :64]!
- vld4.s16 {d16, d17, d18, d19}, [r2, :128]!
- vld4.s32 {d16, d17, d18, d19}, [r3, :256]!
- vld4.u8 {d17, d19, d21, d23}, [r5, :256]!
+ vld4.s8 {d16, d17, d18, d19}, [r1:64]!
+ vld4.s16 {d16, d17, d18, d19}, [r2:128]!
+ vld4.s32 {d16, d17, d18, d19}, [r3:256]!
+ vld4.u8 {d17, d19, d21, d23}, [r5:256]!
vld4.u16 {d17, d19, d21, d23}, [r7]!
vld4.u32 {d16, d18, d20, d22}, [r8]!
- vld4.p8 {d16, d17, d18, d19}, [r1, :64], r8
+ vld4.p8 {d16, d17, d18, d19}, [r1:64], r8
vld4.p16 {d16, d17, d18, d19}, [r2], r7
- vld4.f32 {d16, d17, d18, d19}, [r3, :64], r5
- vld4.i8 {d16, d18, d20, d22}, [r4, :256], r2
+ vld4.f32 {d16, d17, d18, d19}, [r3:64], r5
+ vld4.i8 {d16, d18, d20, d22}, [r4:256], r2
vld4.i16 {d16, d18, d20, d22}, [r6], r3
vld4.i32 {d17, d19, d21, d23}, [r9], r4
@@ -252,8 +252,8 @@
@ CHECK: vld1.8 {d4[], d5[]}, [r1], r3 @ encoding: [0x23,0x4c,0xa1,0xf4]
vld1.8 {d16[3]}, [r0]
- vld1.16 {d16[2]}, [r0, :16]
- vld1.32 {d16[1]}, [r0, :32]
+ vld1.16 {d16[2]}, [r0:16]
+ vld1.32 {d16[1]}, [r0:32]
vld1.p8 d12[6], [r2]!
vld1.i8 d12[6], [r2], r2
vld1.u16 d12[3], [r2]!
@@ -268,12 +268,12 @@
@ CHECK: vld1.16 {d12[2]}, [r2], r2 @ encoding: [0x82,0xc4,0xa2,0xf4]
- vld2.8 {d16[1], d17[1]}, [r0, :16]
- vld2.16 {d16[1], d17[1]}, [r0, :32]
+ vld2.8 {d16[1], d17[1]}, [r0:16]
+ vld2.16 {d16[1], d17[1]}, [r0:32]
vld2.32 {d16[1], d17[1]}, [r0]
vld2.16 {d17[1], d19[1]}, [r0]
- vld2.32 {d17[0], d19[0]}, [r0, :64]
- vld2.32 {d17[0], d19[0]}, [r0, :64]!
+ vld2.32 {d17[0], d19[0]}, [r0:64]
+ vld2.32 {d17[0], d19[0]}, [r0:64]!
vld2.8 {d2[4], d3[4]}, [r2], r3
vld2.8 {d2[4], d3[4]}, [r2]!
vld2.8 {d2[4], d3[4]}, [r2]
@@ -383,15 +383,15 @@
vld4.16 {d17[1], d19[1], d21[1], d23[1]}, [r7]
vld4.32 {d16[1], d18[1], d20[1], d22[1]}, [r8]
- vld4.s8 {d16[1], d17[1], d18[1], d19[1]}, [r1, :32]!
- vld4.s16 {d16[1], d17[1], d18[1], d19[1]}, [r2, :64]!
- vld4.s32 {d16[1], d17[1], d18[1], d19[1]}, [r3, :128]!
+ vld4.s8 {d16[1], d17[1], d18[1], d19[1]}, [r1:32]!
+ vld4.s16 {d16[1], d17[1], d18[1], d19[1]}, [r2:64]!
+ vld4.s32 {d16[1], d17[1], d18[1], d19[1]}, [r3:128]!
vld4.u16 {d17[1], d19[1], d21[1], d23[1]}, [r7]!
vld4.u32 {d16[1], d18[1], d20[1], d22[1]}, [r8]!
- vld4.p8 {d16[1], d17[1], d18[1], d19[1]}, [r1, :32], r8
+ vld4.p8 {d16[1], d17[1], d18[1], d19[1]}, [r1:32], r8
vld4.p16 {d16[1], d17[1], d18[1], d19[1]}, [r2], r7
- vld4.f32 {d16[1], d17[1], d18[1], d19[1]}, [r3, :64], r5
+ vld4.f32 {d16[1], d17[1], d18[1], d19[1]}, [r3:64], r5
vld4.i16 {d16[1], d18[1], d20[1], d22[1]}, [r6], r3
vld4.i32 {d17[1], d19[1], d21[1], d23[1]}, [r9], r4
@@ -490,8 +490,17 @@
@ Register lists can use the range syntax, just like VLDM
- vld1.f64 {d2-d5}, [r2,:128]!
- vld1.f64 {d2,d3,d4,d5}, [r2,:128]!
+ vld1.f64 {d2-d5}, [r2:128]!
+ vld1.f64 {d2,d3,d4,d5}, [r2:128]!
@ CHECK: vld1.64 {d2, d3, d4, d5}, [r2, :128]! @ encoding: [0xed,0x22,0x22,0xf4]
@ CHECK: vld1.64 {d2, d3, d4, d5}, [r2, :128]! @ encoding: [0xed,0x22,0x22,0xf4]
+
+
+@ verify that the old incorrect alignment specifier syntax (", :")
+@ still gets accepted.
+ vld2.8 {d16, d17}, [r0, :64]
+ vld2.16 {d16, d17}, [r0, :128]
+
+@ CHECK: vld2.8 {d16, d17}, [r0, :64] @ encoding: [0x1f,0x08,0x60,0xf4]
+@ CHECK: vld2.16 {d16, d17}, [r0, :128] @ encoding: [0x6f,0x08,0x60,0xf4]
Modified: llvm/trunk/test/MC/ARM/neon-vst-encoding.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ARM/neon-vst-encoding.s?rev=175164&r1=175163&r2=175164&view=diff
==============================================================================
--- llvm/trunk/test/MC/ARM/neon-vst-encoding.s (original)
+++ llvm/trunk/test/MC/ARM/neon-vst-encoding.s Thu Feb 14 08:46:12 2013
@@ -1,18 +1,18 @@
@ RUN: llvm-mc -mcpu=cortex-a8 -triple armv7-apple-darwin -show-encoding < %s | FileCheck %s
- vst1.8 {d16}, [r0, :64]
+ vst1.8 {d16}, [r0:64]
vst1.16 {d16}, [r0]
vst1.32 {d16}, [r0]
vst1.64 {d16}, [r0]
- vst1.8 {d16, d17}, [r0, :64]
- vst1.16 {d16, d17}, [r0, :128]
+ vst1.8 {d16, d17}, [r0:64]
+ vst1.16 {d16, d17}, [r0:128]
vst1.32 {d16, d17}, [r0]
vst1.64 {d16, d17}, [r0]
- vst1.8 {d16, d17, d18}, [r0, :64]
- vst1.8 {d16, d17, d18}, [r0, :64]!
+ vst1.8 {d16, d17, d18}, [r0:64]
+ vst1.8 {d16, d17, d18}, [r0:64]!
vst1.8 {d16, d17, d18}, [r0], r3
- vst1.8 {d16, d17, d18, d19}, [r0, :64]
- vst1.16 {d16, d17, d18, d19}, [r1, :64]!
+ vst1.8 {d16, d17, d18, d19}, [r0:64]
+ vst1.16 {d16, d17, d18, d19}, [r1:64]!
vst1.64 {d16, d17, d18, d19}, [r3], r2
@ CHECK: vst1.8 {d16}, [r0, :64] @ encoding: [0x1f,0x07,0x40,0xf4]
@@ -31,18 +31,18 @@
@ CHECK: vst1.64 {d16, d17, d18, d19}, [r3], r2 @ encoding: [0xc2,0x02,0x43,0xf4]
- vst2.8 {d16, d17}, [r0, :64]
- vst2.16 {d16, d17}, [r0, :128]
+ vst2.8 {d16, d17}, [r0:64]
+ vst2.16 {d16, d17}, [r0:128]
vst2.32 {d16, d17}, [r0]
- vst2.8 {d16, d17, d18, d19}, [r0, :64]
- vst2.16 {d16, d17, d18, d19}, [r0, :128]
- vst2.32 {d16, d17, d18, d19}, [r0, :256]
- vst2.8 {d16, d17}, [r0, :64]!
- vst2.16 {q15}, [r0, :128]!
+ vst2.8 {d16, d17, d18, d19}, [r0:64]
+ vst2.16 {d16, d17, d18, d19}, [r0:128]
+ vst2.32 {d16, d17, d18, d19}, [r0:256]
+ vst2.8 {d16, d17}, [r0:64]!
+ vst2.16 {q15}, [r0:128]!
vst2.32 {d14, d15}, [r0]!
- vst2.8 {d16, d17, d18, d19}, [r0, :64]!
- vst2.16 {d18-d21}, [r0, :128]!
- vst2.32 {q4, q5}, [r0, :256]!
+ vst2.8 {d16, d17, d18, d19}, [r0:64]!
+ vst2.16 {d18-d21}, [r0:128]!
+ vst2.32 {q4, q5}, [r0:256]!
@ CHECK: vst2.8 {d16, d17}, [r0, :64] @ encoding: [0x1f,0x08,0x40,0xf4]
@ CHECK: vst2.16 {d16, d17}, [r0, :128] @ encoding: [0x6f,0x08,0x40,0xf4]
@@ -61,7 +61,7 @@
vst3.8 {d16, d17, d18}, [r1]
vst3.16 {d6, d7, d8}, [r2]
vst3.32 {d1, d2, d3}, [r3]
- vst3.8 {d16, d18, d20}, [r0, :64]
+ vst3.8 {d16, d18, d20}, [r0:64]
vst3.u16 {d27, d29, d31}, [r4]
vst3.i32 {d6, d8, d10}, [r5]
@@ -75,7 +75,7 @@
vst3.p8 {d6, d7, d8}, [r8]!
vst3.16 {d9, d10, d11}, [r7]!
vst3.f32 {d1, d2, d3}, [r6]!
- vst3.8 {d16, d18, d20}, [r0, :64]!
+ vst3.8 {d16, d18, d20}, [r0:64]!
vst3.p16 {d20, d22, d24}, [r5]!
vst3.32 {d5, d7, d9}, [r4]!
@@ -99,24 +99,24 @@
@ CHECK: vst3.32 {d5, d7, d9}, [r4]! @ encoding: [0x8d,0x55,0x04,0xf4]
- vst4.8 {d16, d17, d18, d19}, [r1, :64]
- vst4.16 {d16, d17, d18, d19}, [r2, :128]
- vst4.32 {d16, d17, d18, d19}, [r3, :256]
- vst4.8 {d17, d19, d21, d23}, [r5, :256]
+ vst4.8 {d16, d17, d18, d19}, [r1:64]
+ vst4.16 {d16, d17, d18, d19}, [r2:128]
+ vst4.32 {d16, d17, d18, d19}, [r3:256]
+ vst4.8 {d17, d19, d21, d23}, [r5:256]
vst4.16 {d17, d19, d21, d23}, [r7]
vst4.32 {d16, d18, d20, d22}, [r8]
- vst4.s8 {d16, d17, d18, d19}, [r1, :64]!
- vst4.s16 {d16, d17, d18, d19}, [r2, :128]!
- vst4.s32 {d16, d17, d18, d19}, [r3, :256]!
- vst4.u8 {d17, d19, d21, d23}, [r5, :256]!
+ vst4.s8 {d16, d17, d18, d19}, [r1:64]!
+ vst4.s16 {d16, d17, d18, d19}, [r2:128]!
+ vst4.s32 {d16, d17, d18, d19}, [r3:256]!
+ vst4.u8 {d17, d19, d21, d23}, [r5:256]!
vst4.u16 {d17, d19, d21, d23}, [r7]!
vst4.u32 {d16, d18, d20, d22}, [r8]!
- vst4.p8 {d16, d17, d18, d19}, [r1, :64], r8
+ vst4.p8 {d16, d17, d18, d19}, [r1:64], r8
vst4.p16 {d16, d17, d18, d19}, [r2], r7
- vst4.f32 {d16, d17, d18, d19}, [r3, :64], r5
- vst4.i8 {d16, d18, d20, d22}, [r4, :256], r2
+ vst4.f32 {d16, d17, d18, d19}, [r3:64], r5
+ vst4.i8 {d16, d18, d20, d22}, [r4:256], r2
vst4.i16 {d16, d18, d20, d22}, [r6], r3
vst4.i32 {d17, d19, d21, d23}, [r9], r4
@@ -140,22 +140,22 @@
@ CHECK: vst4.32 {d17, d19, d21, d23}, [r9], r4 @ encoding: [0x84,0x11,0x49,0xf4]
- vst2.8 {d16[1], d17[1]}, [r0, :16]
- vst2.p16 {d16[1], d17[1]}, [r0, :32]
+ vst2.8 {d16[1], d17[1]}, [r0:16]
+ vst2.p16 {d16[1], d17[1]}, [r0:32]
vst2.i32 {d16[1], d17[1]}, [r0]
vst2.u16 {d17[1], d19[1]}, [r0]
- vst2.f32 {d17[0], d19[0]}, [r0, :64]
+ vst2.f32 {d17[0], d19[0]}, [r0:64]
vst2.8 {d2[4], d3[4]}, [r2], r3
vst2.u8 {d2[4], d3[4]}, [r2]!
vst2.p8 {d2[4], d3[4]}, [r2]
vst2.16 {d17[1], d19[1]}, [r0]
- vst2.32 {d17[0], d19[0]}, [r0, :64]
+ vst2.32 {d17[0], d19[0]}, [r0:64]
vst2.i16 {d7[1], d9[1]}, [r1]!
- vst2.32 {d6[0], d8[0]}, [r2, :64]!
+ vst2.32 {d6[0], d8[0]}, [r2:64]!
vst2.16 {d2[1], d4[1]}, [r3], r5
- vst2.u32 {d5[0], d7[0]}, [r4, :64], r7
+ vst2.u32 {d5[0], d7[0]}, [r4:64], r7
@ CHECK: vst2.8 {d16[1], d17[1]}, [r0, :16] @ encoding: [0x3f,0x01,0xc0,0xf4]
@ CHECK: vst2.16 {d16[1], d17[1]}, [r0, :32] @ encoding: [0x5f,0x05,0xc0,0xf4]
@@ -216,15 +216,15 @@
vst4.16 {d17[1], d19[1], d21[1], d23[1]}, [r7]
vst4.32 {d16[1], d18[1], d20[1], d22[1]}, [r8]
- vst4.s8 {d16[1], d17[1], d18[1], d19[1]}, [r1, :32]!
- vst4.s16 {d16[1], d17[1], d18[1], d19[1]}, [r2, :64]!
- vst4.s32 {d16[1], d17[1], d18[1], d19[1]}, [r3, :128]!
+ vst4.s8 {d16[1], d17[1], d18[1], d19[1]}, [r1:32]!
+ vst4.s16 {d16[1], d17[1], d18[1], d19[1]}, [r2:64]!
+ vst4.s32 {d16[1], d17[1], d18[1], d19[1]}, [r3:128]!
vst4.u16 {d17[1], d19[1], d21[1], d23[1]}, [r7]!
vst4.u32 {d16[1], d18[1], d20[1], d22[1]}, [r8]!
- vst4.p8 {d16[1], d17[1], d18[1], d19[1]}, [r1, :32], r8
+ vst4.p8 {d16[1], d17[1], d18[1], d19[1]}, [r1:32], r8
vst4.p16 {d16[1], d17[1], d18[1], d19[1]}, [r2], r7
- vst4.f32 {d16[1], d17[1], d18[1], d19[1]}, [r3, :64], r5
+ vst4.f32 {d16[1], d17[1], d18[1], d19[1]}, [r3:64], r5
vst4.i16 {d16[1], d18[1], d20[1], d22[1]}, [r6], r3
vst4.i32 {d17[1], d19[1], d21[1], d23[1]}, [r9], r4
@@ -269,10 +269,17 @@
vst2.8 {d8, d10}, [r4]
@ CHECK: vst2.8 {d8, d10}, [r4] @ encoding: [0x0f,0x89,0x04,0xf4]
- vst1.32 {d9[1]}, [r3, :32]
- vst1.32 {d27[1]}, [r9, :32]!
- vst1.32 {d27[1]}, [r3, :32], r5
+ vst1.32 {d9[1]}, [r3:32]
+ vst1.32 {d27[1]}, [r9:32]!
+ vst1.32 {d27[1]}, [r3:32], r5
@ CHECK: vst1.32 {d9[1]}, [r3, :32] @ encoding: [0xbf,0x98,0x83,0xf4]
@ CHECK: vst1.32 {d27[1]}, [r9, :32]! @ encoding: [0xbd,0xb8,0xc9,0xf4]
@ CHECK: vst1.32 {d27[1]}, [r3, :32], r5 @ encoding: [0xb5,0xb8,0xc3,0xf4]
+@ verify that the old incorrect alignment specifier syntax (", :")
+@ still gets accepted.
+ vst2.8 {d16, d17}, [r0, :64]
+ vst2.16 {d16, d17}, [r0, :128]
+
+@ CHECK: vst2.8 {d16, d17}, [r0, :64] @ encoding: [0x1f,0x08,0x40,0xf4]
+@ CHECK: vst2.16 {d16, d17}, [r0, :128] @ encoding: [0x6f,0x08,0x40,0xf4]
\ No newline at end of file
Modified: llvm/trunk/test/MC/ARM/neont2-vld-encoding.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ARM/neont2-vld-encoding.s?rev=175164&r1=175163&r2=175164&view=diff
==============================================================================
--- llvm/trunk/test/MC/ARM/neont2-vld-encoding.s (original)
+++ llvm/trunk/test/MC/ARM/neont2-vld-encoding.s Thu Feb 14 08:46:12 2013
@@ -4,7 +4,7 @@
.code 16
@ CHECK: vld1.8 {d16}, [r0, :64] @ encoding: [0x1f,0x07,0x60,0xf9]
- vld1.8 {d16}, [r0, :64]
+ vld1.8 {d16}, [r0:64]
@ CHECK: vld1.16 {d16}, [r0] @ encoding: [0x4f,0x07,0x60,0xf9]
vld1.16 {d16}, [r0]
@ CHECK: vld1.32 {d16}, [r0] @ encoding: [0x8f,0x07,0x60,0xf9]
@@ -12,37 +12,37 @@
@ CHECK: vld1.64 {d16}, [r0] @ encoding: [0xcf,0x07,0x60,0xf9]
vld1.64 {d16}, [r0]
@ CHECK: vld1.8 {d16, d17}, [r0, :64] @ encoding: [0x1f,0x0a,0x60,0xf9]
- vld1.8 {d16, d17}, [r0, :64]
+ vld1.8 {d16, d17}, [r0:64]
@ CHECK: vld1.16 {d16, d17}, [r0, :128] @ encoding: [0x6f,0x0a,0x60,0xf9]
- vld1.16 {d16, d17}, [r0, :128]
+ vld1.16 {d16, d17}, [r0:128]
@ CHECK: vld1.32 {d16, d17}, [r0] @ encoding: [0x8f,0x0a,0x60,0xf9]
vld1.32 {d16, d17}, [r0]
@ CHECK: vld1.64 {d16, d17}, [r0] @ encoding: [0xcf,0x0a,0x60,0xf9]
vld1.64 {d16, d17}, [r0]
@ CHECK: vld2.8 {d16, d17}, [r0, :64] @ encoding: [0x1f,0x08,0x60,0xf9]
- vld2.8 {d16, d17}, [r0, :64]
+ vld2.8 {d16, d17}, [r0:64]
@ CHECK: vld2.16 {d16, d17}, [r0, :128] @ encoding: [0x6f,0x08,0x60,0xf9]
- vld2.16 {d16, d17}, [r0, :128]
+ vld2.16 {d16, d17}, [r0:128]
@ CHECK: vld2.32 {d16, d17}, [r0] @ encoding: [0x8f,0x08,0x60,0xf9]
vld2.32 {d16, d17}, [r0]
@ CHECK: vld2.8 {d16, d17, d18, d19}, [r0, :64] @ encoding: [0x1f,0x03,0x60,0xf9]
- vld2.8 {d16, d17, d18, d19}, [r0, :64]
+ vld2.8 {d16, d17, d18, d19}, [r0:64]
@ CHECK: vld2.16 {d16, d17, d18, d19}, [r0, :128] @ encoding: [0x6f,0x03,0x60,0xf9]
- vld2.16 {d16, d17, d18, d19}, [r0, :128]
+ vld2.16 {d16, d17, d18, d19}, [r0:128]
@ CHECK: vld2.32 {d16, d17, d18, d19}, [r0, :256] @ encoding: [0xbf,0x03,0x60,0xf9]
- vld2.32 {d16, d17, d18, d19}, [r0, :256]
+ vld2.32 {d16, d17, d18, d19}, [r0:256]
@ CHECK: vld3.8 {d16, d17, d18}, [r0, :64] @ encoding: [0x1f,0x04,0x60,0xf9]
- vld3.8 {d16, d17, d18}, [r0, :64]
+ vld3.8 {d16, d17, d18}, [r0:64]
@ CHECK: vld3.16 {d16, d17, d18}, [r0] @ encoding: [0x4f,0x04,0x60,0xf9]
vld3.16 {d16, d17, d18}, [r0]
@ CHECK: vld3.32 {d16, d17, d18}, [r0] @ encoding: [0x8f,0x04,0x60,0xf9]
vld3.32 {d16, d17, d18}, [r0]
@ CHECK: vld3.8 {d16, d18, d20}, [r0, :64]! @ encoding: [0x1d,0x05,0x60,0xf9]
- vld3.8 {d16, d18, d20}, [r0, :64]!
+ vld3.8 {d16, d18, d20}, [r0:64]!
@ CHECK: vld3.8 {d17, d19, d21}, [r0, :64]! @ encoding: [0x1d,0x15,0x60,0xf9]
- vld3.8 {d17, d19, d21}, [r0, :64]!
+ vld3.8 {d17, d19, d21}, [r0:64]!
@ CHECK: vld3.16 {d16, d18, d20}, [r0]! @ encoding: [0x4d,0x05,0x60,0xf9]
vld3.16 {d16, d18, d20}, [r0]!
@ CHECK: vld3.16 {d17, d19, d21}, [r0]! @ encoding: [0x4d,0x15,0x60,0xf9]
@@ -53,15 +53,15 @@
vld3.32 {d17, d19, d21}, [r0]!
@ CHECK: vld4.8 {d16, d17, d18, d19}, [r0, :64] @ encoding: [0x1f,0x00,0x60,0xf9]
- vld4.8 {d16, d17, d18, d19}, [r0, :64]
+ vld4.8 {d16, d17, d18, d19}, [r0:64]
@ CHECK: vld4.16 {d16, d17, d18, d19}, [r0, :128] @ encoding: [0x6f,0x00,0x60,0xf9]
- vld4.16 {d16, d17, d18, d19}, [r0, :128]
+ vld4.16 {d16, d17, d18, d19}, [r0:128]
@ CHECK: vld4.32 {d16, d17, d18, d19}, [r0, :256] @ encoding: [0xbf,0x00,0x60,0xf9]
- vld4.32 {d16, d17, d18, d19}, [r0, :256]
+ vld4.32 {d16, d17, d18, d19}, [r0:256]
@ CHECK: vld4.8 {d16, d18, d20, d22}, [r0, :256]! @ encoding: [0x3d,0x01,0x60,0xf9]
- vld4.8 {d16, d18, d20, d22}, [r0, :256]!
+ vld4.8 {d16, d18, d20, d22}, [r0:256]!
@ CHECK: vld4.8 {d17, d19, d21, d23}, [r0, :256]! @ encoding: [0x3d,0x11,0x60,0xf9]
- vld4.8 {d17, d19, d21, d23}, [r0, :256]!
+ vld4.8 {d17, d19, d21, d23}, [r0:256]!
@ CHECK: vld4.16 {d16, d18, d20, d22}, [r0]! @ encoding: [0x4d,0x01,0x60,0xf9]
vld4.16 {d16, d18, d20, d22}, [r0]!
@ CHECK: vld4.16 {d17, d19, d21, d23}, [r0]! @ encoding: [0x4d,0x11,0x60,0xf9]
@@ -74,20 +74,20 @@
@ CHECK: vld1.8 {d16[3]}, [r0] @ encoding: [0x6f,0x00,0xe0,0xf9]
vld1.8 {d16[3]}, [r0]
@ CHECK: vld1.16 {d16[2]}, [r0, :16] @ encoding: [0x9f,0x04,0xe0,0xf9]
- vld1.16 {d16[2]}, [r0, :16]
+ vld1.16 {d16[2]}, [r0:16]
@ CHECK: vld1.32 {d16[1]}, [r0, :32] @ encoding: [0xbf,0x08,0xe0,0xf9]
- vld1.32 {d16[1]}, [r0, :32]
+ vld1.32 {d16[1]}, [r0:32]
@ CHECK: vld2.8 {d16[1], d17[1]}, [r0, :16] @ encoding: [0x3f,0x01,0xe0,0xf9]
- vld2.8 {d16[1], d17[1]}, [r0, :16]
+ vld2.8 {d16[1], d17[1]}, [r0:16]
@ CHECK: vld2.16 {d16[1], d17[1]}, [r0, :32] @ encoding: [0x5f,0x05,0xe0,0xf9]
- vld2.16 {d16[1], d17[1]}, [r0, :32]
+ vld2.16 {d16[1], d17[1]}, [r0:32]
@ CHECK: vld2.32 {d16[1], d17[1]}, [r0] @ encoding: [0x8f,0x09,0xe0,0xf9]
vld2.32 {d16[1], d17[1]}, [r0]
@ CHECK: vld2.16 {d17[1], d19[1]}, [r0] @ encoding: [0x6f,0x15,0xe0,0xf9]
vld2.16 {d17[1], d19[1]}, [r0]
@ CHECK: vld2.32 {d17[0], d19[0]}, [r0, :64] @ encoding: [0x5f,0x19,0xe0,0xf9]
- vld2.32 {d17[0], d19[0]}, [r0, :64]
+ vld2.32 {d17[0], d19[0]}, [r0:64]
@ CHECK: vld3.8 {d16[1], d17[1], d18[1]}, [r0] @ encoding: [0x2f,0x02,0xe0,0xf9]
vld3.8 {d16[1], d17[1], d18[1]}, [r0]
@@ -101,12 +101,12 @@
vld3.32 {d17[1], d19[1], d21[1]}, [r0]
@ CHECK: vld4.8 {d16[1], d17[1], d18[1], d19[1]}, [r0, :32] @ encoding: [0x3f,0x03,0xe0,0xf9]
- vld4.8 {d16[1], d17[1], d18[1], d19[1]}, [r0, :32]
+ vld4.8 {d16[1], d17[1], d18[1], d19[1]}, [r0:32]
@ CHECK: vld4.16 {d16[1], d17[1], d18[1], d19[1]}, [r0] @ encoding: [0x4f,0x07,0xe0,0xf9]
vld4.16 {d16[1], d17[1], d18[1], d19[1]}, [r0]
@ CHECK: vld4.32 {d16[1], d17[1], d18[1], d19[1]}, [r0, :128] @ encoding: [0xaf,0x0b,0xe0,0xf9]
- vld4.32 {d16[1], d17[1], d18[1], d19[1]}, [r0, :128]
+ vld4.32 {d16[1], d17[1], d18[1], d19[1]}, [r0:128]
@ CHECK: vld4.16 {d16[1], d18[1], d20[1], d22[1]}, [r0, :64] @ encoding: [0x7f,0x07,0xe0,0xf9]
- vld4.16 {d16[1], d18[1], d20[1], d22[1]}, [r0, :64]
+ vld4.16 {d16[1], d18[1], d20[1], d22[1]}, [r0:64]
@ CHECK: vld4.32 {d17[0], d19[0], d21[0], d23[0]}, [r0] @ encoding: [0x4f,0x1b,0xe0,0xf9]
vld4.32 {d17[0], d19[0], d21[0], d23[0]}, [r0]
Modified: llvm/trunk/test/MC/ARM/neont2-vst-encoding.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ARM/neont2-vst-encoding.s?rev=175164&r1=175163&r2=175164&view=diff
==============================================================================
--- llvm/trunk/test/MC/ARM/neont2-vst-encoding.s (original)
+++ llvm/trunk/test/MC/ARM/neont2-vst-encoding.s Thu Feb 14 08:46:12 2013
@@ -4,7 +4,7 @@
.code 16
@ CHECK: vst1.8 {d16}, [r0, :64] @ encoding: [0x1f,0x07,0x40,0xf9]
- vst1.8 {d16}, [r0, :64]
+ vst1.8 {d16}, [r0:64]
@ CHECK: vst1.16 {d16}, [r0] @ encoding: [0x4f,0x07,0x40,0xf9]
vst1.16 {d16}, [r0]
@ CHECK: vst1.32 {d16}, [r0] @ encoding: [0x8f,0x07,0x40,0xf9]
@@ -12,37 +12,37 @@
@ CHECK: vst1.64 {d16}, [r0] @ encoding: [0xcf,0x07,0x40,0xf9]
vst1.64 {d16}, [r0]
@ CHECK: vst1.8 {d16, d17}, [r0, :64] @ encoding: [0x1f,0x0a,0x40,0xf9]
- vst1.8 {d16, d17}, [r0, :64]
+ vst1.8 {d16, d17}, [r0:64]
@ CHECK: vst1.16 {d16, d17}, [r0, :128] @ encoding: [0x6f,0x0a,0x40,0xf9]
- vst1.16 {d16, d17}, [r0, :128]
+ vst1.16 {d16, d17}, [r0:128]
@ CHECK: vst1.32 {d16, d17}, [r0] @ encoding: [0x8f,0x0a,0x40,0xf9]
vst1.32 {d16, d17}, [r0]
@ CHECK: vst1.64 {d16, d17}, [r0] @ encoding: [0xcf,0x0a,0x40,0xf9]
vst1.64 {d16, d17}, [r0]
@ CHECK: vst2.8 {d16, d17}, [r0, :64] @ encoding: [0x1f,0x08,0x40,0xf9]
- vst2.8 {d16, d17}, [r0, :64]
+ vst2.8 {d16, d17}, [r0:64]
@ CHECK: vst2.16 {d16, d17}, [r0, :128] @ encoding: [0x6f,0x08,0x40,0xf9]
- vst2.16 {d16, d17}, [r0, :128]
+ vst2.16 {d16, d17}, [r0:128]
@ CHECK: vst2.32 {d16, d17}, [r0] @ encoding: [0x8f,0x08,0x40,0xf9]
vst2.32 {d16, d17}, [r0]
@ CHECK: vst2.8 {d16, d17, d18, d19}, [r0, :64] @ encoding: [0x1f,0x03,0x40,0xf9]
- vst2.8 {d16, d17, d18, d19}, [r0, :64]
+ vst2.8 {d16, d17, d18, d19}, [r0:64]
@ CHECK: vst2.16 {d16, d17, d18, d19}, [r0, :128] @ encoding: [0x6f,0x03,0x40,0xf9]
- vst2.16 {d16, d17, d18, d19}, [r0, :128]
+ vst2.16 {d16, d17, d18, d19}, [r0:128]
@ CHECK: vst2.32 {d16, d17, d18, d19}, [r0, :256] @ encoding: [0xbf,0x03,0x40,0xf9]
- vst2.32 {d16, d17, d18, d19}, [r0, :256]
+ vst2.32 {d16, d17, d18, d19}, [r0:256]
@ CHECK: vst3.8 {d16, d17, d18}, [r0, :64] @ encoding: [0x1f,0x04,0x40,0xf9]
- vst3.8 {d16, d17, d18}, [r0, :64]
+ vst3.8 {d16, d17, d18}, [r0:64]
@ CHECK: vst3.16 {d16, d17, d18}, [r0] @ encoding: [0x4f,0x04,0x40,0xf9]
vst3.16 {d16, d17, d18}, [r0]
@ CHECK: vst3.32 {d16, d17, d18}, [r0] @ encoding: [0x8f,0x04,0x40,0xf9]
vst3.32 {d16, d17, d18}, [r0]
@ CHECK: vst3.8 {d16, d18, d20}, [r0, :64]! @ encoding: [0x1d,0x05,0x40,0xf9]
- vst3.8 {d16, d18, d20}, [r0, :64]!
+ vst3.8 {d16, d18, d20}, [r0:64]!
@ CHECK: vst3.8 {d17, d19, d21}, [r0, :64]! @ encoding: [0x1d,0x15,0x40,0xf9]
- vst3.8 {d17, d19, d21}, [r0, :64]!
+ vst3.8 {d17, d19, d21}, [r0:64]!
@ CHECK: vst3.16 {d16, d18, d20}, [r0]! @ encoding: [0x4d,0x05,0x40,0xf9]
vst3.16 {d16, d18, d20}, [r0]!
@ CHECK: vst3.16 {d17, d19, d21}, [r0]! @ encoding: [0x4d,0x15,0x40,0xf9]
@@ -53,13 +53,13 @@
vst3.32 {d17, d19, d21}, [r0]!
@ CHECK: vst4.8 {d16, d17, d18, d19}, [r0, :64] @ encoding: [0x1f,0x00,0x40,0xf9]
- vst4.8 {d16, d17, d18, d19}, [r0, :64]
+ vst4.8 {d16, d17, d18, d19}, [r0:64]
@ CHECK: vst4.16 {d16, d17, d18, d19}, [r0, :128] @ encoding: [0x6f,0x00,0x40,0xf9]
- vst4.16 {d16, d17, d18, d19}, [r0, :128]
+ vst4.16 {d16, d17, d18, d19}, [r0:128]
@ CHECK: vst4.8 {d16, d18, d20, d22}, [r0, :256]! @ encoding: [0x3d,0x01,0x40,0xf9]
- vst4.8 {d16, d18, d20, d22}, [r0, :256]!
+ vst4.8 {d16, d18, d20, d22}, [r0:256]!
@ CHECK: vst4.8 {d17, d19, d21, d23}, [r0, :256]! @ encoding: [0x3d,0x11,0x40,0xf9]
- vst4.8 {d17, d19, d21, d23}, [r0, :256]!
+ vst4.8 {d17, d19, d21, d23}, [r0:256]!
@ CHECK: vst4.16 {d16, d18, d20, d22}, [r0]! @ encoding: [0x4d,0x01,0x40,0xf9]
vst4.16 {d16, d18, d20, d22}, [r0]!
@ CHECK: vst4.16 {d17, d19, d21, d23}, [r0]! @ encoding: [0x4d,0x11,0x40,0xf9]
@@ -70,15 +70,15 @@
vst4.32 {d17, d19, d21, d23}, [r0]!
@ CHECK: vst2.8 {d16[1], d17[1]}, [r0, :16] @ encoding: [0x3f,0x01,0xc0,0xf9]
- vst2.8 {d16[1], d17[1]}, [r0, :16]
+ vst2.8 {d16[1], d17[1]}, [r0:16]
@ CHECK: vst2.16 {d16[1], d17[1]}, [r0, :32] @ encoding: [0x5f,0x05,0xc0,0xf9]
- vst2.16 {d16[1], d17[1]}, [r0, :32]
+ vst2.16 {d16[1], d17[1]}, [r0:32]
@ CHECK: vst2.32 {d16[1], d17[1]}, [r0] @ encoding: [0x8f,0x09,0xc0,0xf9]
vst2.32 {d16[1], d17[1]}, [r0]
@ CHECK: vst2.16 {d17[1], d19[1]}, [r0] @ encoding: [0x6f,0x15,0xc0,0xf9]
vst2.16 {d17[1], d19[1]}, [r0]
@ CHECK: vst2.32 {d17[0], d19[0]}, [r0, :64] @ encoding: [0x5f,0x19,0xc0,0xf9]
- vst2.32 {d17[0], d19[0]}, [r0, :64]
+ vst2.32 {d17[0], d19[0]}, [r0:64]
@ CHECK: vst3.8 {d16[1], d17[1], d18[1]}, [r0] @ encoding: [0x2f,0x02,0xc0,0xf9]
vst3.8 {d16[1], d17[1], d18[1]}, [r0]
@@ -92,13 +92,13 @@
vst3.32 {d16[0], d18[0], d20[0]}, [r0]
@ CHECK: vst4.8 {d16[1], d17[1], d18[1], d19[1]}, [r0, :32] @ encoding: [0x3f,0x03,0xc0,0xf9]
- vst4.8 {d16[1], d17[1], d18[1], d19[1]}, [r0, :32]
+ vst4.8 {d16[1], d17[1], d18[1], d19[1]}, [r0:32]
@ CHECK: vst4.16 {d16[1], d17[1], d18[1], d19[1]}, [r0] @ encoding: [0x4f,0x07,0xc0,0xf9]
vst4.16 {d16[1], d17[1], d18[1], d19[1]}, [r0]
@ CHECK: vst4.32 {d16[1], d17[1], d18[1], d19[1]}, [r0, :128] @ encoding: [0xaf,0x0b,0xc0,0xf9]
- vst4.32 {d16[1], d17[1], d18[1], d19[1]}, [r0, :128]
+ vst4.32 {d16[1], d17[1], d18[1], d19[1]}, [r0:128]
@ CHECK: vst4.16 {d17[3], d19[3], d21[3], d23[3]}, [r0, :64] @ encoding: [0xff,0x17,0xc0,0xf9]
- vst4.16 {d17[3], d19[3], d21[3], d23[3]}, [r0, :64]
+ vst4.16 {d17[3], d19[3], d21[3], d23[3]}, [r0:64]
@ CHECK: vst4.32 {d17[0], d19[0], d21[0], d23[0]}, [r0] @ encoding: [0x4f,0x1b,0xc0,0xf9]
vst4.32 {d17[0], d19[0], d21[0], d23[0]}, [r0]
Modified: llvm/trunk/test/MC/Disassembler/ARM/invalid-VST1d8Twb_register-thumb.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Disassembler/ARM/invalid-VST1d8Twb_register-thumb.txt?rev=175164&r1=175163&r2=175164&view=diff
==============================================================================
--- llvm/trunk/test/MC/Disassembler/ARM/invalid-VST1d8Twb_register-thumb.txt (original)
+++ llvm/trunk/test/MC/Disassembler/ARM/invalid-VST1d8Twb_register-thumb.txt Thu Feb 14 08:46:12 2013
@@ -7,7 +7,7 @@
# -------------------------------------------------------------------------------------------------
#
# A8.6.391 VST1 (multiple single elements)
-# This encoding looks like: vst1.8 {d0,d1,d2}, [r0, :128]
+# This encoding looks like: vst1.8 {d0,d1,d2}, [r0:128]
# But bits 5-4 for the alignment of 128 encoded as align = 0b10, is available only if <list>
# contains two or four registers. rdar://11220250
0x00 0xf9 0x2f 0x06
More information about the llvm-commits
mailing list