ARM parsing optional datatype suffix for VAND/VEOR/VORR instructions.

rdar://10435076

llvm-svn: 144587
diff --git a/llvm/test/MC/ARM/neon-bitwise-encoding.s b/llvm/test/MC/ARM/neon-bitwise-encoding.s
index 72d0256..0922cac 100644
--- a/llvm/test/MC/ARM/neon-bitwise-encoding.s
+++ b/llvm/test/MC/ARM/neon-bitwise-encoding.s
@@ -53,3 +53,180 @@
 
 @ CHECK: vbsl	d18, d17, d16           @ encoding: [0xb0,0x21,0x51,0xf3]
 @ CHECK: vbsl	q8, q10, q9             @ encoding: [0xf2,0x01,0x54,0xf3]
+
+
+@ Size suffices are optional.
+        veor q4, q7, q3
+        veor.8 q4, q7, q3
+        veor.16 q4, q7, q3
+        veor.32 q4, q7, q3
+        veor.64 q4, q7, q3
+
+        veor.i8 q4, q7, q3
+        veor.i16 q4, q7, q3
+        veor.i32 q4, q7, q3
+        veor.i64 q4, q7, q3
+
+        veor.s8 q4, q7, q3
+        veor.s16 q4, q7, q3
+        veor.s32 q4, q7, q3
+        veor.s64 q4, q7, q3
+
+        veor.u8 q4, q7, q3
+        veor.u16 q4, q7, q3
+        veor.u32 q4, q7, q3
+        veor.u64 q4, q7, q3
+
+        veor.p8 q4, q7, q3
+        veor.p16 q4, q7, q3
+        veor.f32 q4, q7, q3
+        veor.f64 q4, q7, q3
+
+        veor.f q4, q7, q3
+        veor.d q4, q7, q3
+
+@ CHECK: veor	q4, q7, q3              @ encoding: [0x56,0x81,0x0e,0xf3]
+@ CHECK: veor	q4, q7, q3              @ encoding: [0x56,0x81,0x0e,0xf3]
+@ CHECK: veor	q4, q7, q3              @ encoding: [0x56,0x81,0x0e,0xf3]
+@ CHECK: veor	q4, q7, q3              @ encoding: [0x56,0x81,0x0e,0xf3]
+@ CHECK: veor	q4, q7, q3              @ encoding: [0x56,0x81,0x0e,0xf3]
+
+@ CHECK: veor	q4, q7, q3              @ encoding: [0x56,0x81,0x0e,0xf3]
+@ CHECK: veor	q4, q7, q3              @ encoding: [0x56,0x81,0x0e,0xf3]
+@ CHECK: veor	q4, q7, q3              @ encoding: [0x56,0x81,0x0e,0xf3]
+@ CHECK: veor	q4, q7, q3              @ encoding: [0x56,0x81,0x0e,0xf3]
+
+@ CHECK: veor	q4, q7, q3              @ encoding: [0x56,0x81,0x0e,0xf3]
+@ CHECK: veor	q4, q7, q3              @ encoding: [0x56,0x81,0x0e,0xf3]
+@ CHECK: veor	q4, q7, q3              @ encoding: [0x56,0x81,0x0e,0xf3]
+@ CHECK: veor	q4, q7, q3              @ encoding: [0x56,0x81,0x0e,0xf3]
+
+@ CHECK: veor	q4, q7, q3              @ encoding: [0x56,0x81,0x0e,0xf3]
+@ CHECK: veor	q4, q7, q3              @ encoding: [0x56,0x81,0x0e,0xf3]
+@ CHECK: veor	q4, q7, q3              @ encoding: [0x56,0x81,0x0e,0xf3]
+@ CHECK: veor	q4, q7, q3              @ encoding: [0x56,0x81,0x0e,0xf3]
+
+@ CHECK: veor	q4, q7, q3              @ encoding: [0x56,0x81,0x0e,0xf3]
+@ CHECK: veor	q4, q7, q3              @ encoding: [0x56,0x81,0x0e,0xf3]
+@ CHECK: veor	q4, q7, q3              @ encoding: [0x56,0x81,0x0e,0xf3]
+@ CHECK: veor	q4, q7, q3              @ encoding: [0x56,0x81,0x0e,0xf3]
+
+@ CHECK: veor	q4, q7, q3              @ encoding: [0x56,0x81,0x0e,0xf3]
+@ CHECK: veor	q4, q7, q3              @ encoding: [0x56,0x81,0x0e,0xf3]
+
+
+        vand d4, d7, d3
+        vand.8 d4, d7, d3
+        vand.16 d4, d7, d3
+        vand.32 d4, d7, d3
+        vand.64 d4, d7, d3
+
+        vand.i8 d4, d7, d3
+        vand.i16 d4, d7, d3
+        vand.i32 d4, d7, d3
+        vand.i64 d4, d7, d3
+
+        vand.s8 d4, d7, d3
+        vand.s16 d4, d7, d3
+        vand.s32 d4, d7, d3
+        vand.s64 d4, d7, d3
+
+        vand.u8 d4, d7, d3
+        vand.u16 d4, d7, d3
+        vand.u32 d4, d7, d3
+        vand.u64 d4, d7, d3
+
+        vand.p8 d4, d7, d3
+        vand.p16 d4, d7, d3
+        vand.f32 d4, d7, d3
+        vand.f64 d4, d7, d3
+
+        vand.f d4, d7, d3
+        vand.d d4, d7, d3
+
+@ CHECK: vand	d4, d7, d3              @ encoding: [0x13,0x41,0x07,0xf2]
+@ CHECK: vand	d4, d7, d3              @ encoding: [0x13,0x41,0x07,0xf2]
+@ CHECK: vand	d4, d7, d3              @ encoding: [0x13,0x41,0x07,0xf2]
+@ CHECK: vand	d4, d7, d3              @ encoding: [0x13,0x41,0x07,0xf2]
+@ CHECK: vand	d4, d7, d3              @ encoding: [0x13,0x41,0x07,0xf2]
+
+@ CHECK: vand	d4, d7, d3              @ encoding: [0x13,0x41,0x07,0xf2]
+@ CHECK: vand	d4, d7, d3              @ encoding: [0x13,0x41,0x07,0xf2]
+@ CHECK: vand	d4, d7, d3              @ encoding: [0x13,0x41,0x07,0xf2]
+@ CHECK: vand	d4, d7, d3              @ encoding: [0x13,0x41,0x07,0xf2]
+
+@ CHECK: vand	d4, d7, d3              @ encoding: [0x13,0x41,0x07,0xf2]
+@ CHECK: vand	d4, d7, d3              @ encoding: [0x13,0x41,0x07,0xf2]
+@ CHECK: vand	d4, d7, d3              @ encoding: [0x13,0x41,0x07,0xf2]
+@ CHECK: vand	d4, d7, d3              @ encoding: [0x13,0x41,0x07,0xf2]
+
+@ CHECK: vand	d4, d7, d3              @ encoding: [0x13,0x41,0x07,0xf2]
+@ CHECK: vand	d4, d7, d3              @ encoding: [0x13,0x41,0x07,0xf2]
+@ CHECK: vand	d4, d7, d3              @ encoding: [0x13,0x41,0x07,0xf2]
+@ CHECK: vand	d4, d7, d3              @ encoding: [0x13,0x41,0x07,0xf2]
+
+@ CHECK: vand	d4, d7, d3              @ encoding: [0x13,0x41,0x07,0xf2]
+@ CHECK: vand	d4, d7, d3              @ encoding: [0x13,0x41,0x07,0xf2]
+@ CHECK: vand	d4, d7, d3              @ encoding: [0x13,0x41,0x07,0xf2]
+@ CHECK: vand	d4, d7, d3              @ encoding: [0x13,0x41,0x07,0xf2]
+
+@ CHECK: vand	d4, d7, d3              @ encoding: [0x13,0x41,0x07,0xf2]
+@ CHECK: vand	d4, d7, d3              @ encoding: [0x13,0x41,0x07,0xf2]
+
+        vorr d4, d7, d3
+        vorr.8 d4, d7, d3
+        vorr.16 d4, d7, d3
+        vorr.32 d4, d7, d3
+        vorr.64 d4, d7, d3
+
+        vorr.i8 d4, d7, d3
+        vorr.i16 d4, d7, d3
+        vorr.i32 d4, d7, d3
+        vorr.i64 d4, d7, d3
+
+        vorr.s8 d4, d7, d3
+        vorr.s16 d4, d7, d3
+        vorr.s32 q4, q7, q3
+        vorr.s64 q4, q7, q3
+
+        vorr.u8 q4, q7, q3
+        vorr.u16 q4, q7, q3
+        vorr.u32 q4, q7, q3
+        vorr.u64 q4, q7, q3
+
+        vorr.p8 q4, q7, q3
+        vorr.p16 q4, q7, q3
+        vorr.f32 q4, q7, q3
+        vorr.f64 q4, q7, q3
+
+        vorr.f q4, q7, q3
+        vorr.d q4, q7, q3
+
+@ CHECK: vorr	d4, d7, d3              @ encoding: [0x13,0x41,0x27,0xf2]
+@ CHECK: vorr	d4, d7, d3              @ encoding: [0x13,0x41,0x27,0xf2]
+@ CHECK: vorr	d4, d7, d3              @ encoding: [0x13,0x41,0x27,0xf2]
+@ CHECK: vorr	d4, d7, d3              @ encoding: [0x13,0x41,0x27,0xf2]
+@ CHECK: vorr	d4, d7, d3              @ encoding: [0x13,0x41,0x27,0xf2]
+
+@ CHECK: vorr	d4, d7, d3              @ encoding: [0x13,0x41,0x27,0xf2]
+@ CHECK: vorr	d4, d7, d3              @ encoding: [0x13,0x41,0x27,0xf2]
+@ CHECK: vorr	d4, d7, d3              @ encoding: [0x13,0x41,0x27,0xf2]
+@ CHECK: vorr	d4, d7, d3              @ encoding: [0x13,0x41,0x27,0xf2]
+
+@ CHECK: vorr	d4, d7, d3              @ encoding: [0x13,0x41,0x27,0xf2]
+@ CHECK: vorr	d4, d7, d3              @ encoding: [0x13,0x41,0x27,0xf2]
+@ CHECK: vorr	q4, q7, q3              @ encoding: [0x56,0x81,0x2e,0xf2]
+@ CHECK: vorr	q4, q7, q3              @ encoding: [0x56,0x81,0x2e,0xf2]
+
+@ CHECK: vorr	q4, q7, q3              @ encoding: [0x56,0x81,0x2e,0xf2]
+@ CHECK: vorr	q4, q7, q3              @ encoding: [0x56,0x81,0x2e,0xf2]
+@ CHECK: vorr	q4, q7, q3              @ encoding: [0x56,0x81,0x2e,0xf2]
+@ CHECK: vorr	q4, q7, q3              @ encoding: [0x56,0x81,0x2e,0xf2]
+
+@ CHECK: vorr	q4, q7, q3              @ encoding: [0x56,0x81,0x2e,0xf2]
+@ CHECK: vorr	q4, q7, q3              @ encoding: [0x56,0x81,0x2e,0xf2]
+@ CHECK: vorr	q4, q7, q3              @ encoding: [0x56,0x81,0x2e,0xf2]
+@ CHECK: vorr	q4, q7, q3              @ encoding: [0x56,0x81,0x2e,0xf2]
+
+@ CHECK: vorr	q4, q7, q3              @ encoding: [0x56,0x81,0x2e,0xf2]
+@ CHECK: vorr	q4, q7, q3              @ encoding: [0x56,0x81,0x2e,0xf2]