neon-vld-encoding.s revision e6949b13997e6d31aa4719a0e80c4b6b405e42a9
1@ RUN: llvm-mc -mcpu=cortex-a8 -triple armv7-apple-darwin -show-encoding < %s | FileCheck %s
2
3	vld1.8	{d16}, [r0, :64]
4	vld1.16	{d16}, [r0]
5	vld1.32	{d16}, [r0]
6	vld1.64	{d16}, [r0]
7	vld1.8	{d16, d17}, [r0, :64]
8	vld1.16	{d16, d17}, [r0, :128]
9	vld1.32	{d16, d17}, [r0]
10	vld1.64	{d16, d17}, [r0]
11	vld1.8 {d1, d2, d3}, [r3]
12	vld1.16 {d4, d5, d6}, [r3, :64]
13	vld1.32 {d5, d6, d7}, [r3]
14	vld1.64 {d6, d7, d8}, [r3, :64]
15	vld1.8 {d1, d2, d3, d4}, [r3]
16	vld1.16 {d4, d5, d6, d7}, [r3, :64]
17	vld1.32 {d5, d6, d7, d8}, [r3]
18	vld1.64 {d6, d7, d8, d9}, [r3, :64]
19
20	vld1.8	{d16}, [r0, :64]!
21	vld1.16	{d16}, [r0]!
22	vld1.32	{d16}, [r0]!
23	vld1.64	{d16}, [r0]!
24	vld1.8	{d16, d17}, [r0, :64]!
25	vld1.16	{d16, d17}, [r0, :128]!
26	vld1.32	{d16, d17}, [r0]!
27	vld1.64	{d16, d17}, [r0]!
28
29	vld1.8	{d16}, [r0, :64], r5
30	vld1.16	{d16}, [r0], r5
31	vld1.32	{d16}, [r0], r5
32	vld1.64	{d16}, [r0], r5
33	vld1.8	{d16, d17}, [r0, :64], r5
34	vld1.16	{d16, d17}, [r0, :128], r5
35	vld1.32	{d16, d17}, [r0], r5
36	vld1.64	{d16, d17}, [r0], r5
37
38	vld1.8 {d1, d2, d3}, [r3]!
39	vld1.16 {d4, d5, d6}, [r3, :64]!
40	vld1.32 {d5, d6, d7}, [r3]!
41	vld1.64 {d6, d7, d8}, [r3, :64]!
42
43	vld1.8 {d1, d2, d3}, [r3], r6
44	vld1.16 {d4, d5, d6}, [r3, :64], r6
45	vld1.32 {d5, d6, d7}, [r3], r6
46	vld1.64 {d6, d7, d8}, [r3, :64], r6
47
48	vld1.8 {d1, d2, d3, d4}, [r3]!
49	vld1.16 {d4, d5, d6, d7}, [r3, :64]!
50	vld1.32 {d5, d6, d7, d8}, [r3]!
51	vld1.64 {d6, d7, d8, d9}, [r3, :64]!
52
53	vld1.8 {d1, d2, d3, d4}, [r3], r8
54	vld1.16 {d4, d5, d6, d7}, [r3, :64], r8
55	vld1.32 {d5, d6, d7, d8}, [r3], r8
56	vld1.64 {d6, d7, d8, d9}, [r3, :64], r8
57
58@ CHECK: vld1.8 {d16}, [r0, :64]        @ encoding: [0x1f,0x07,0x60,0xf4]
59@ CHECK: vld1.16 {d16}, [r0]            @ encoding: [0x4f,0x07,0x60,0xf4]
60@ CHECK: vld1.32 {d16}, [r0]            @ encoding: [0x8f,0x07,0x60,0xf4]
61@ CHECK: vld1.64 {d16}, [r0]            @ encoding: [0xcf,0x07,0x60,0xf4]
62@ CHECK: vld1.8 {d16, d17}, [r0, :64]   @ encoding: [0x1f,0x0a,0x60,0xf4]
63@ CHECK: vld1.16 {d16, d17}, [r0, :128] @ encoding: [0x6f,0x0a,0x60,0xf4]
64@ CHECK: vld1.32 {d16, d17}, [r0]       @ encoding: [0x8f,0x0a,0x60,0xf4]
65@ CHECK: vld1.64 {d16, d17}, [r0]       @ encoding: [0xcf,0x0a,0x60,0xf4]
66@ CHECK: vld1.8 {d1, d2, d3}, [r3]      @ encoding: [0x0f,0x16,0x23,0xf4]
67@ CHECK: vld1.16 {d4, d5, d6}, [r3, :64] @ encoding: [0x5f,0x46,0x23,0xf4]
68@ CHECK: vld1.32 {d5, d6, d7}, [r3]     @ encoding: [0x8f,0x56,0x23,0xf4]
69@ CHECK: vld1.64 {d6, d7, d8}, [r3, :64] @ encoding: [0xdf,0x66,0x23,0xf4]
70@ CHECK: vld1.8 {d1, d2, d3, d4}, [r3]  @ encoding: [0x0f,0x12,0x23,0xf4]
71@ CHECK: vld1.16 {d4, d5, d6, d7}, [r3, :64] @ encoding: [0x5f,0x42,0x23,0xf4]
72@ CHECK: vld1.32 {d5, d6, d7, d8}, [r3]  @ encoding: [0x8f,0x52,0x23,0xf4]
73@ CHECK: vld1.64 {d6, d7, d8, d9}, [r3, :64] @ encoding: [0xdf,0x62,0x23,0xf4]
74@ CHECK: vld1.8	{d16}, [r0, :64]!       @ encoding: [0x1d,0x07,0x60,0xf4]
75
76@ CHECK: vld1.16 {d16}, [r0]!           @ encoding: [0x4d,0x07,0x60,0xf4]
77@ CHECK: vld1.32 {d16}, [r0]!           @ encoding: [0x8d,0x07,0x60,0xf4]
78@ CHECK: vld1.64 {d16}, [r0]!           @ encoding: [0xcd,0x07,0x60,0xf4]
79@ CHECK: vld1.8 {d16, d17}, [r0, :64]!  @ encoding: [0x1d,0x0a,0x60,0xf4]
80@ CHECK: vld1.16 {d16, d17}, [r0, :128]! @ encoding: [0x6d,0x0a,0x60,0xf4]
81@ CHECK: vld1.32 {d16, d17}, [r0]!      @ encoding: [0x8d,0x0a,0x60,0xf4]
82@ CHECK: vld1.64 {d16, d17}, [r0]!      @ encoding: [0xcd,0x0a,0x60,0xf4]
83
84@ CHECK: vld1.8 {d16}, [r0, :64], r5    @ encoding: [0x15,0x07,0x60,0xf4]
85@ CHECK: vld1.16 {d16}, [r0], r5        @ encoding: [0x45,0x07,0x60,0xf4]
86@ CHECK: vld1.32 {d16}, [r0], r5        @ encoding: [0x85,0x07,0x60,0xf4]
87@ CHECK: vld1.64 {d16}, [r0], r5        @ encoding: [0xc5,0x07,0x60,0xf4]
88@ CHECK: vld1.8 {d16, d17}, [r0, :64], r5 @ encoding: [0x15,0x0a,0x60,0xf4]
89@ CHECK: vld1.16 {d16, d17}, [r0, :128], r5 @ encoding: [0x65,0x0a,0x60,0xf4]
90@ CHECK: vld1.32 {d16, d17}, [r0], r5   @ encoding: [0x85,0x0a,0x60,0xf4]
91@ CHECK: vld1.64 {d16, d17}, [r0], r5   @ encoding: [0xc5,0x0a,0x60,0xf4]
92
93@ CHECK: vld1.8	{d1, d2, d3}, [r3]!     @ encoding: [0x0d,0x16,0x23,0xf4]
94@ CHECK: vld1.16 {d4, d5, d6}, [r3, :64]! @ encoding: [0x5d,0x46,0x23,0xf4]
95@ CHECK: vld1.32 {d5, d6, d7}, [r3]!     @ encoding: [0x8d,0x56,0x23,0xf4]
96@ CHECK: vld1.64 {d6, d7, d8}, [r3, :64]! @ encoding: [0xdd,0x66,0x23,0xf4]
97
98@ CHECK: vld1.8	{d1, d2, d3}, [r3], r6  @ encoding: [0x06,0x16,0x23,0xf4]
99@ CHECK: vld1.16 {d4, d5, d6}, [r3, :64], r6 @ encoding: [0x56,0x46,0x23,0xf4]
100@ CHECK: vld1.32 {d5, d6, d7}, [r3], r6  @ encoding: [0x86,0x56,0x23,0xf4]
101@ CHECK: vld1.64 {d6, d7, d8}, [r3, :64], r6 @ encoding: [0xd6,0x66,0x23,0xf4]
102
103@ CHECK: vld1.8	{d1, d2, d3, d4}, [r3]! @ encoding: [0x0d,0x12,0x23,0xf4]
104@ CHECK: vld1.16 {d4, d5, d6, d7}, [r3, :64]! @ encoding: [0x5d,0x42,0x23,0xf4]
105@ CHECK: vld1.32 {d5, d6, d7, d8}, [r3]! @ encoding: [0x8d,0x52,0x23,0xf4]
106@ CHECK: vld1.64 {d6, d7, d8, d9}, [r3, :64]! @ encoding: [0xdd,0x62,0x23,0xf4]
107
108@ CHECK: vld1.8	{d1, d2, d3, d4}, [r3], r8 @ encoding: [0x08,0x12,0x23,0xf4]
109@ CHECK: vld1.16 {d4, d5, d6, d7}, [r3, :64], r8 @ encoding: [0x58,0x42,0x23,0xf4]
110@ CHECK: vld1.32 {d5, d6, d7, d8}, [r3], r8 @ encoding: [0x88,0x52,0x23,0xf4]
111@ CHECK: vld1.64 {d6, d7, d8, d9}, [r3, :64], r8 @ encoding: [0xd8,0x62,0x23,0xf4]
112
113
114	vld2.8	{d16, d17}, [r0, :64]
115	vld2.16	{d16, d17}, [r0, :128]
116	vld2.32	{d16, d17}, [r0]
117	vld2.8	{d16, d17, d18, d19}, [r0, :64]
118	vld2.16	{d16, d17, d18, d19}, [r0, :128]
119	vld2.32	{d16, d17, d18, d19}, [r0, :256]
120
121	vld2.8	{d19, d20}, [r0, :64]!
122	vld2.16	{d16, d17}, [r0, :128]!
123	vld2.32	{q10}, [r0]!
124	vld2.8	{d4-d7}, [r0, :64]!
125	vld2.16	{d1, d2, d3, d4}, [r0, :128]!
126	vld2.32	{q7, q8}, [r0, :256]!
127
128	vld2.8	{d19, d20}, [r0, :64], r6
129	vld2.16	{d16, d17}, [r0, :128], r6
130	vld2.32	{q10}, [r0], r6
131	vld2.8	{d4-d7}, [r0, :64], r6
132	vld2.16	{d1, d2, d3, d4}, [r0, :128], r6
133	vld2.32	{q7, q8}, [r0, :256], r6
134
135@ CHECK: vld2.8	{d16, d17}, [r0, :64]   @ encoding: [0x1f,0x08,0x60,0xf4]
136@ CHECK: vld2.16 {d16, d17}, [r0, :128] @ encoding: [0x6f,0x08,0x60,0xf4]
137@ CHECK: vld2.32 {d16, d17}, [r0] @ encoding: [0x8f,0x08,0x60,0xf4]
138@ CHECK: vld2.8	{d16, d17, d18, d19}, [r0, :64] @ encoding: [0x1f,0x03,0x60,0xf4]
139@ CHECK: vld2.16 {d16, d17, d18, d19}, [r0, :128] @ encoding: [0x6f,0x03,0x60,0xf4]
140@ CHECK: vld2.32 {d16, d17, d18, d19}, [r0, :256] @ encoding: [0xbf,0x03,0x60,0xf4]
141
142@ CHECK: vld2.8	{d19, d20}, [r0, :64]!  @ encoding: [0x1d,0x38,0x60,0xf4]
143@ CHECK: vld2.16 {d16, d17}, [r0, :128]! @ encoding: [0x6d,0x08,0x60,0xf4]
144@ CHECK: vld2.32 {d20, d21}, [r0]!       @ encoding: [0x8d,0x48,0x60,0xf4]
145@ CHECK: vld2.8	{d4, d5, d6, d7}, [r0, :64]! @ encoding: [0x1d,0x43,0x20,0xf4]
146@ CHECK: vld2.16 {d1, d2, d3, d4}, [r0, :128]! @ encoding: [0x6d,0x13,0x20,0xf4]
147@ CHECK: vld2.32 {d14, d15, d16, d17}, [r0, :256]! @ encoding: [0xbd,0xe3,0x20,0xf4]
148
149@ CHECK: vld2.8	{d19, d20}, [r0, :64], r6 @ encoding: [0x16,0x38,0x60,0xf4]
150@ CHECK: vld2.16 {d16, d17}, [r0, :128], r6 @ encoding: [0x66,0x08,0x60,0xf4]
151@ CHECK: vld2.32 {d20, d21}, [r0], r6    @ encoding: [0x86,0x48,0x60,0xf4]
152@ CHECK: vld2.8	{d4, d5, d6, d7}, [r0, :64], r6 @ encoding: [0x16,0x43,0x20,0xf4]
153@ CHECK: vld2.16 {d1, d2, d3, d4}, [r0, :128], r6 @ encoding: [0x66,0x13,0x20,0xf4]
154@ CHECK: vld2.32 {d14, d15, d16, d17}, [r0, :256], r6 @ encoding: [0xb6,0xe3,0x20,0xf4]
155
156
157@	vld3.8	{d16, d17, d18}, [r0, :64]
158@	vld3.16	{d16, d17, d18}, [r0]
159@	vld3.32	{d16, d17, d18}, [r0]
160@	vld3.8	{d16, d18, d20}, [r0, :64]!
161@	vld3.8	{d17, d19, d21}, [r0, :64]!
162@	vld3.16	{d16, d18, d20}, [r0]!
163@	vld3.16	{d17, d19, d21}, [r0]!
164@	vld3.32	{d16, d18, d20}, [r0]!
165@	vld3.32	{d17, d19, d21}, [r0]!
166
167@ FIXME: vld3.8	{d16, d17, d18}, [r0, :64] @ encoding: [0x1f,0x04,0x60,0xf4]
168@ FIXME: vld3.16 {d16, d17, d18}, [r0]  @ encoding: [0x4f,0x04,0x60,0xf4]
169@ FIXME: vld3.32 {d16, d17, d18}, [r0]  @ encoding: [0x8f,0x04,0x60,0xf4]
170@ FIXME: vld3.8	{d16, d18, d20}, [r0, :64]! @ encoding: [0x1d,0x05,0x60,0xf4]
171@ FIXME: vld3.8	{d17, d19, d21}, [r0, :64]! @ encoding: [0x1d,0x15,0x60,0xf4]
172@ FIXME: vld3.16 {d16, d18, d20}, [r0]! @ encoding: [0x4d,0x05,0x60,0xf4]
173@ FIXME: vld3.16 {d17, d19, d21}, [r0]! @ encoding: [0x4d,0x15,0x60,0xf4]
174@ FIXME: vld3.32 {d16, d18, d20}, [r0]! @ encoding: [0x8d,0x05,0x60,0xf4]
175@ FIXME: vld3.32 {d17, d19, d21}, [r0]! @ encoding: [0x8d,0x15,0x60,0xf4]
176
177
178@	vld4.8	{d16, d17, d18, d19}, [r0, :64]
179@	vld4.16	{d16, d17, d18, d19}, [r0, :128]
180@	vld4.32	{d16, d17, d18, d19}, [r0, :256]
181@	vld4.8	{d16, d18, d20, d22}, [r0, :256]!
182@	vld4.8	{d17, d19, d21, d23}, [r0, :256]!
183@	vld4.16	{d16, d18, d20, d22}, [r0]!
184@	vld4.16	{d17, d19, d21, d23}, [r0]!
185@	vld4.32	{d16, d18, d20, d22}, [r0]!
186@	vld4.32	{d17, d19, d21, d23}, [r0]!
187
188@ FIXME: vld4.8	{d16, d17, d18, d19}, [r0, :64]@ encoding: [0x1f,0x00,0x60,0xf4]
189@ FIXME: vld4.16 {d16, d17, d18, d19}, [r0,:128]@ encoding:[0x6f,0x00,0x60,0xf4]
190@ FIXME: vld4.32 {d16, d17, d18, d19}, [r0,:256]@ encoding:[0xbf,0x00,0x60,0xf4]
191@ FIXME: vld4.8	{d16, d18, d20, d22}, [r0,:256]!@ encoding:[0x3d,0x01,0x60,0xf4]
192@ FIXME: vld4.8	{d17, d19, d21, d23}, [r0,:256]!@ encoding:[0x3d,0x11,0x60,0xf4]
193@ FIXME: vld4.16 {d16, d18, d20, d22}, [r0]! @ encoding: [0x4d,0x01,0x60,0xf4]
194@ FIXME: vld4.16 {d17, d19, d21, d23}, [r0]! @ encoding: [0x4d,0x11,0x60,0xf4]
195@ FIXME: vld4.32 {d16, d18, d20, d22}, [r0]! @ encoding: [0x8d,0x01,0x60,0xf4]
196@ FIXME: vld4.32 {d17, d19, d21, d23}, [r0]! @ encoding: [0x8d,0x11,0x60,0xf4]
197
198
199	vld1.8 {d4[]}, [r1]
200	vld1.8 {d4[]}, [r1]!
201	vld1.8 {d4[]}, [r1], r3
202	vld1.8 {d4[], d5[]}, [r1]
203	vld1.8 {d4[], d5[]}, [r1]!
204	vld1.8 {d4[], d5[]}, [r1], r3
205
206@ CHECK: vld1.8	{d4[]}, [r1]            @ encoding: [0x0f,0x4c,0xa1,0xf4]
207@ CHECK: vld1.8	{d4[]}, [r1]!           @ encoding: [0x0d,0x4c,0xa1,0xf4]
208@ CHECK: vld1.8	{d4[]}, [r1], r3        @ encoding: [0x03,0x4c,0xa1,0xf4]
209@ CHECK: vld1.8	{d4[], d5[]}, [r1]      @ encoding: [0x2f,0x4c,0xa1,0xf4]
210@ CHECK: vld1.8	{d4[], d5[]}, [r1]!     @ encoding: [0x2d,0x4c,0xa1,0xf4]
211@ CHECK: vld1.8	{d4[], d5[]}, [r1], r3  @ encoding: [0x23,0x4c,0xa1,0xf4]
212
213	vld1.8	{d16[3]}, [r0]
214	vld1.16	{d16[2]}, [r0, :16]
215	vld1.32	{d16[1]}, [r0, :32]
216        vld1.p8 d12[6], [r2]!
217        vld1.i8 d12[6], [r2], r2
218        vld1.u16 d12[3], [r2]!
219        vld1.16 d12[2], [r2], r2
220
221@ CHECK: vld1.8	{d16[3]}, [r0]          @ encoding: [0x6f,0x00,0xe0,0xf4]
222@ CHECK: vld1.16 {d16[2]}, [r0, :16]    @ encoding: [0x9f,0x04,0xe0,0xf4]
223@ CHECK: vld1.32 {d16[1]}, [r0, :32]    @ encoding: [0xbf,0x08,0xe0,0xf4]
224@ CHECK: vld1.8	{d12[6]}, [r2]!         @ encoding: [0xcd,0xc0,0xa2,0xf4]
225@ CHECK: vld1.8	{d12[6]}, [r2], r2      @ encoding: [0xc2,0xc0,0xa2,0xf4]
226@ CHECK: vld1.16 {d12[3]}, [r2]!        @ encoding: [0xcd,0xc4,0xa2,0xf4]
227@ CHECK: vld1.16 {d12[2]}, [r2], r2     @ encoding: [0x82,0xc4,0xa2,0xf4]
228
229
230	vld2.8	{d16[1], d17[1]}, [r0, :16]
231	vld2.16	{d16[1], d17[1]}, [r0, :32]
232	vld2.32	{d16[1], d17[1]}, [r0]
233	vld2.16	{d17[1], d19[1]}, [r0]
234	vld2.32	{d17[0], d19[0]}, [r0, :64]
235	vld2.32	{d17[0], d19[0]}, [r0, :64]!
236        vld2.8 {d2[4], d3[4]}, [r2], r3
237        vld2.8 {d2[4], d3[4]}, [r2]!
238        vld2.8 {d2[4], d3[4]}, [r2]
239        vld2.32 {d22[], d23[]}, [r1]
240        vld2.32 {d22[], d24[]}, [r1]
241        vld2.32 {d10[ ],d11[ ]}, [r3]!
242        vld2.32 {d14[ ],d16[ ]}, [r4]!
243        vld2.32 {d22[ ],d23[ ]}, [r5], r4
244        vld2.32 {d22[ ],d24[ ]}, [r6], r4
245
246@ CHECK: vld2.8	{d16[1], d17[1]}, [r0, :16] @ encoding: [0x3f,0x01,0xe0,0xf4]
247@ CHECK: vld2.16 {d16[1], d17[1]}, [r0, :32] @ encoding: [0x5f,0x05,0xe0,0xf4]
248@ CHECK: vld2.32 {d16[1], d17[1]}, [r0]  @ encoding: [0x8f,0x09,0xe0,0xf4]
249@ CHECK: vld2.16 {d17[1], d19[1]}, [r0]  @ encoding: [0x6f,0x15,0xe0,0xf4]
250@ CHECK: vld2.32 {d17[0], d19[0]}, [r0, :64] @ encoding: [0x5f,0x19,0xe0,0xf4]
251@ CHECK: vld2.32 {d17[0], d19[0]}, [r0, :64]! @ encoding: [0x5d,0x19,0xe0,0xf4]
252@ CHECK: vld2.8	{d2[4], d3[4]}, [r2], r3 @ encoding: [0x83,0x21,0xa2,0xf4]
253@ CHECK: vld2.8	{d2[4], d3[4]}, [r2]!   @ encoding: [0x8d,0x21,0xa2,0xf4]
254@ CHECK: vld2.8	{d2[4], d3[4]}, [r2]    @ encoding: [0x8f,0x21,0xa2,0xf4]
255@ CHECK: vld2.32 {d22[], d23[]}, [r1]    @ encoding: [0x8f,0x6d,0xe1,0xf4]
256@ CHECK: vld2.32 {d22[], d24[]}, [r1]    @ encoding: [0xaf,0x6d,0xe1,0xf4]
257@ CHECK: vld2.32 {d10[], d11[]}, [r3]!   @ encoding: [0x8d,0xad,0xa3,0xf4]
258@ CHECK: vld2.32 {d14[], d16[]}, [r4]!   @ encoding: [0xad,0xed,0xa4,0xf4]
259@ CHECK: vld2.32 {d22[], d23[]}, [r5], r4 @ encoding: [0x84,0x6d,0xe5,0xf4]
260@ CHECK: vld2.32 {d22[], d24[]}, [r6], r4 @ encoding: [0xa4,0x6d,0xe6,0xf4]
261
262
263@	vld3.8	{d16[1], d17[1], d18[1]}, [r0]
264@	vld3.16	{d16[1], d17[1], d18[1]}, [r0]
265@	vld3.32	{d16[1], d17[1], d18[1]}, [r0]
266@	vld3.16	{d16[1], d18[1], d20[1]}, [r0]
267@	vld3.32	{d17[1], d19[1], d21[1]}, [r0]
268
269@ FIXME: vld3.8	{d16[1], d17[1], d18[1]}, [r0] @ encoding: [0x2f,0x02,0xe0,0xf4]
270@ FIXME: vld3.16 {d16[1], d17[1], d18[1]}, [r0]@ encoding: [0x4f,0x06,0xe0,0xf4]
271@ FIXME: vld3.32 {d16[1], d17[1], d18[1]}, [r0]@ encoding: [0x8f,0x0a,0xe0,0xf4]
272@ FIXME: vld3.16 {d16[1], d18[1], d20[1]}, [r0]@ encoding: [0x6f,0x06,0xe0,0xf4]
273@ FIXME: vld3.32 {d17[1], d19[1], d21[1]}, [r0]@ encoding: [0xcf,0x1a,0xe0,0xf4]
274
275
276@	vld4.8	{d16[1], d17[1], d18[1], d19[1]}, [r0, :32]
277@	vld4.16	{d16[1], d17[1], d18[1], d19[1]}, [r0]
278@	vld4.32	{d16[1], d17[1], d18[1], d19[1]}, [r0, :128]
279@	vld4.16	{d16[1], d18[1], d20[1], d22[1]}, [r0, :64]
280@	vld4.32	{d17[0], d19[0], d21[0], d23[0]}, [r0]
281
282@ FIXME: vld4.8	{d16[1], d17[1], d18[1], d19[1]}, [r0, :32] @ encoding: [0x3f,0x03,0xe0,0xf4]
283@ FIXME: vld4.16 {d16[1], d17[1], d18[1], d19[1]}, [r0] @ encoding: [0x4f,0x07,0xe0,0xf4]
284@ FIXME: vld4.32 {d16[1], d17[1], d18[1], d19[1]}, [r0, :128] @ encoding: [0xaf,0x0b,0xe0,0xf4]
285@ FIXME: vld4.16 {d16[1], d18[1], d20[1], d22[1]}, [r0, :64] @ encoding: [0x7f,0x07,0xe0,0xf4]
286@ FIXME: vld4.32 {d17[0], d19[0], d21[0], d23[0]}, [r0] @ encoding: [0x4f,0x1b,0xe0,0xf4]
287
288
289@ Handle 'Q' registers in register lists as if the sub-reg D regs were
290@ specified instead.
291	vld1.8 {q3}, [r9]
292	vld1.8 {q3, q4}, [r9]
293
294@ CHECK: vld1.8	{d6, d7}, [r9]          @ encoding: [0x0f,0x6a,0x29,0xf4]
295@ CHECK: vld1.8	{d6, d7, d8, d9}, [r9]  @ encoding: [0x0f,0x62,0x29,0xf4]
296
297
298@ Spot-check additional size-suffix aliases.
299        vld1.8 {d2}, [r2]
300        vld1.p8 {d2}, [r2]
301        vld1.u8 {d2}, [r2]
302
303        vld1.8 {q2}, [r2]
304        vld1.p8 {q2}, [r2]
305        vld1.u8 {q2}, [r2]
306        vld1.f32 {q2}, [r2]
307
308        vld1.u8 {d2, d3, d4}, [r2]
309        vld1.i32 {d2, d3, d4}, [r2]
310        vld1.f64 {d2, d3, d4}, [r2]
311
312@ CHECK: vld1.8	{d2}, [r2]              @ encoding: [0x0f,0x27,0x22,0xf4]
313@ CHECK: vld1.8	{d2}, [r2]              @ encoding: [0x0f,0x27,0x22,0xf4]
314@ CHECK: vld1.8	{d2}, [r2]              @ encoding: [0x0f,0x27,0x22,0xf4]
315
316@ CHECK: vld1.8	{d4, d5}, [r2]          @ encoding: [0x0f,0x4a,0x22,0xf4]
317@ CHECK: vld1.8	{d4, d5}, [r2]          @ encoding: [0x0f,0x4a,0x22,0xf4]
318@ CHECK: vld1.8	{d4, d5}, [r2]          @ encoding: [0x0f,0x4a,0x22,0xf4]
319@ CHECK: vld1.32 {d4, d5}, [r2]         @ encoding: [0x8f,0x4a,0x22,0xf4]
320
321@ CHECK: vld1.8	{d2, d3, d4}, [r2]      @ encoding: [0x0f,0x26,0x22,0xf4]
322@ CHECK: vld1.32 {d2, d3, d4}, [r2]     @ encoding: [0x8f,0x26,0x22,0xf4]
323@ CHECK: vld1.64 {d2, d3, d4}, [r2]     @ encoding: [0xcf,0x26,0x22,0xf4]
324
325
326@ Register lists can use the range syntax, just like VLDM
327	vld1.f64 {d2-d5}, [r2,:128]!
328	vld1.f64 {d2,d3,d4,d5}, [r2,:128]!
329
330@ CHECK: vld1.64 {d2, d3, d4, d5}, [r2, :128]! @ encoding: [0xed,0x22,0x22,0xf4]
331@ CHECK: vld1.64 {d2, d3, d4, d5}, [r2, :128]! @ encoding: [0xed,0x22,0x22,0xf4]
332