blob: bb71ac34ce8e9229abf2fa768a9d546c3404c2ec [file] [log] [blame]
Sean Callananb2088602012-03-22 17:57:10 +00001Index: test/MC/Disassembler/ARM/neont2.txt
2===================================================================
3--- test/MC/Disassembler/ARM/neont2.txt (revision 152265)
4+++ test/MC/Disassembler/ARM/neont2.txt (working copy)
5@@ -1595,3 +1595,186 @@
6 # CHECK vld2.8 {d17[], d19[]}, [r7, :16]!
7 0xe7 0xf9 0x3f 0x1d
8 # CHECK vld2.8 {d17[], d19[]}, [r7, :16]
9+
10+# rdar://11034702
11+0x04 0xf9 0x0d 0x87
12+# CHECK: vst1.8 {d8}, [r4]!
13+0x04 0xf9 0x4d 0x87
14+# CHECK: vst1.16 {d8}, [r4]!
15+0x04 0xf9 0x8d 0x87
16+# CHECK: vst1.32 {d8}, [r4]!
17+0x04 0xf9 0xcd 0x87
18+# CHECK: vst1.64 {d8}, [r4]!
19+0x04 0xf9 0x06 0x87
20+# CHECK: vst1.8 {d8}, [r4], r6
21+0x04 0xf9 0x46 0x87
22+# CHECK: vst1.16 {d8}, [r4], r6
23+0x04 0xf9 0x86 0x87
24+# CHECK: vst1.32 {d8}, [r4], r6
25+0x04 0xf9 0xc6 0x87
26+# CHECK: vst1.64 {d8}, [r4], r6
27+
28+0x04 0xf9 0x0d 0x8a
29+# CHECK: vst1.8 {d8, d9}, [r4]!
30+0x04 0xf9 0x4d 0x8a
31+# CHECK: vst1.16 {d8, d9}, [r4]!
32+0x04 0xf9 0x8d 0x8a
33+# CHECK: vst1.32 {d8, d9}, [r4]!
34+0x04 0xf9 0xcd 0x8a
35+# CHECK: vst1.64 {d8, d9}, [r4]!
36+0x04 0xf9 0x06 0x8a
37+# CHECK: vst1.8 {d8, d9}, [r4], r6
38+0x04 0xf9 0x46 0x8a
39+# CHECK: vst1.16 {d8, d9}, [r4], r6
40+0x04 0xf9 0x86 0x8a
41+# CHECK: vst1.32 {d8, d9}, [r4], r6
42+0x04 0xf9 0xc6 0x8a
43+# CHECK: vst1.64 {d8, d9}, [r4], r6
44+
45+0x04 0xf9 0x0d 0x86
46+# CHECK: vst1.8 {d8, d9, d10}, [r4]!
47+0x04 0xf9 0x4d 0x86
48+# CHECK: vst1.16 {d8, d9, d10}, [r4]!
49+0x04 0xf9 0x8d 0x86
50+# CHECK: vst1.32 {d8, d9, d10}, [r4]!
51+0x04 0xf9 0xcd 0x86
52+# CHECK: vst1.64 {d8, d9, d10}, [r4]!
53+0x04 0xf9 0x06 0x86
54+# CHECK: vst1.8 {d8, d9, d10}, [r4], r6
55+0x04 0xf9 0x46 0x86
56+# CHECK: vst1.16 {d8, d9, d10}, [r4], r6
57+0x04 0xf9 0x86 0x86
58+# CHECK: vst1.32 {d8, d9, d10}, [r4], r6
59+0x04 0xf9 0xc6 0x86
60+# CHECK: vst1.64 {d8, d9, d10}, [r4], r6
61+
62+0x04 0xf9 0x0d 0x82
63+# CHECK: vst1.8 {d8, d9, d10, d11}, [r4]!
64+0x04 0xf9 0x4d 0x82
65+# CHECK: vst1.16 {d8, d9, d10, d11}, [r4]!
66+0x04 0xf9 0x8d 0x82
67+# CHECK: vst1.32 {d8, d9, d10, d11}, [r4]!
68+0x04 0xf9 0xcd 0x82
69+# CHECK: vst1.64 {d8, d9, d10, d11}, [r4]!
70+0x04 0xf9 0x06 0x82
71+# CHECK: vst1.8 {d8, d9, d10, d11}, [r4], r6
72+0x04 0xf9 0x46 0x82
73+# CHECK: vst1.16 {d8, d9, d10, d11}, [r4], r6
74+0x04 0xf9 0x86 0x82
75+# CHECK: vst1.32 {d8, d9, d10, d11}, [r4], r6
76+0x04 0xf9 0xc6 0x82
77+# CHECK: vst1.64 {d8, d9, d10, d11}, [r4], r6
78+
79+0x04 0xf9 0x0d 0x88
80+# CHECK: vst2.8 {d8, d9}, [r4]!
81+0x04 0xf9 0x4d 0x88
82+# CHECK: vst2.16 {d8, d9}, [r4]!
83+0x04 0xf9 0x8d 0x88
84+# CHECK: vst2.32 {d8, d9}, [r4]!
85+0x04 0xf9 0x06 0x88
86+# CHECK: vst2.8 {d8, d9}, [r4], r6
87+0x04 0xf9 0x46 0x88
88+# CHECK: vst2.16 {d8, d9}, [r4], r6
89+0x04 0xf9 0x86 0x88
90+# CHECK: vst2.32 {d8, d9}, [r4], r6
91+
92+0x04 0xf9 0x0d 0x89
93+# CHECK: vst2.8 {d8, d10}, [r4]!
94+0x04 0xf9 0x4d 0x89
95+# CHECK: vst2.16 {d8, d10}, [r4]!
96+0x04 0xf9 0x8d 0x89
97+# CHECK: vst2.32 {d8, d10}, [r4]!
98+0x04 0xf9 0x06 0x89
99+# CHECK: vst2.8 {d8, d10}, [r4], r6
100+0x04 0xf9 0x46 0x89
101+# CHECK: vst2.16 {d8, d10}, [r4], r6
102+0x04 0xf9 0x86 0x89
103+# CHECK: vst2.32 {d8, d10}, [r4], r6
104+
105+0x04 0xf9 0x0d 0x84
106+# CHECK: vst3.8 {d8, d9, d10}, [r4]!
107+0x04 0xf9 0x4d 0x84
108+# CHECK: vst3.16 {d8, d9, d10}, [r4]!
109+0x04 0xf9 0x8d 0x84
110+# CHECK: vst3.32 {d8, d9, d10}, [r4]!
111+0x04 0xf9 0x06 0x85
112+# CHECK: vst3.8 {d8, d10, d12}, [r4], r6
113+0x04 0xf9 0x46 0x85
114+# CHECK: vst3.16 {d8, d10, d12}, [r4], r6
115+0x04 0xf9 0x86 0x85
116+# CHECK: vst3.32 {d8, d10, d12}, [r4], r6
117+
118+0x04 0xf9 0x0d 0x80
119+# CHECK: vst4.8 {d8, d9, d10, d11}, [r4]!
120+0x04 0xf9 0x4d 0x80
121+# CHECK: vst4.16 {d8, d9, d10, d11}, [r4]!
122+0x04 0xf9 0x8d 0x80
123+# CHECK: vst4.32 {d8, d9, d10, d11}, [r4]!
124+0x04 0xf9 0x06 0x81
125+# CHECK: vst4.8 {d8, d10, d12, d14}, [r4], r6
126+0x04 0xf9 0x46 0x81
127+# CHECK: vst4.16 {d8, d10, d12, d14}, [r4], r6
128+0x04 0xf9 0x86 0x81
129+# CHECK: vst4.32 {d8, d10, d12, d14}, [r4], r6
130+
131+0x04 0xf9 0x4f 0x8a
132+# CHECK: vst1.16 {d8, d9}, [r4]
133+0x04 0xf9 0x8f 0x8a
134+# CHECK: vst1.32 {d8, d9}, [r4]
135+0x04 0xf9 0xcf 0x8a
136+# CHECK: vst1.64 {d8, d9}, [r4]
137+0x04 0xf9 0x0f 0x8a
138+# CHECK: vst1.8 {d8, d9}, [r4]
139+0x04 0xf9 0x4f 0x88
140+# CHECK: vst2.16 {d8, d9}, [r4]
141+0x04 0xf9 0x8f 0x88
142+# CHECK: vst2.32 {d8, d9}, [r4]
143+0x04 0xf9 0x0f 0x88
144+# CHECK: vst2.8 {d8, d9}, [r4]
145+0x04 0xf9 0x4d 0x88
146+# CHECK: vst2.16 {d8, d9}, [r4]!
147+0x04 0xf9 0x46 0x88
148+# CHECK: vst2.16 {d8, d9}, [r4], r6
149+0x04 0xf9 0x8d 0x88
150+# CHECK: vst2.32 {d8, d9}, [r4]!
151+0x04 0xf9 0x86 0x88
152+# CHECK: vst2.32 {d8, d9}, [r4], r6
153+0x04 0xf9 0x0d 0x88
154+# CHECK: vst2.8 {d8, d9}, [r4]!
155+0x04 0xf9 0x06 0x88
156+# CHECK: vst2.8 {d8, d9}, [r4], r6
157+
158+0x04 0xf9 0x4f 0x89
159+# CHECK: vst2.16 {d8, d10}, [r4]
160+0x04 0xf9 0x8f 0x89
161+# CHECK: vst2.32 {d8, d10}, [r4]
162+0x04 0xf9 0x0f 0x89
163+# CHECK: vst2.8 {d8, d10}, [r4]
164+
165+0x04 0xf9 0x0f 0x84
166+# CHECK: vst3.8 {d8, d9, d10}, [r4]
167+0x04 0xf9 0x4f 0x84
168+# CHECK: vst3.16 {d8, d9, d10}, [r4]
169+0x04 0xf9 0x8f 0x84
170+# CHECK: vst3.32 {d8, d9, d10}, [r4]
171+
172+0x04 0xf9 0x0f 0x80
173+# CHECK: vst4.8 {d8, d9, d10, d11}, [r4]
174+0x04 0xf9 0x4f 0x80
175+# CHECK: vst4.16 {d8, d9, d10, d11}, [r4]
176+0x04 0xf9 0x8f 0x80
177+# CHECK: vst4.32 {d8, d9, d10, d11}, [r4]
178+
179+0x04 0xf9 0x0f 0x85
180+# CHECK: vst3.8 {d8, d10, d12}, [r4]
181+0x04 0xf9 0x4f 0x85
182+# CHECK: vst3.16 {d8, d10, d12}, [r4]
183+0x04 0xf9 0x8f 0x85
184+# CHECK: vst3.32 {d8, d10, d12}, [r4]
185+
186+0x04 0xf9 0x0f 0x81
187+# CHECK: vst4.8 {d8, d10, d12, d14}, [r4]
188+0x04 0xf9 0x4f 0x81
189+# CHECK: vst4.16 {d8, d10, d12, d14}, [r4]
190+0x04 0xf9 0x8f 0x81
191+# CHECK: vst4.32 {d8, d10, d12, d14}, [r4]
192Index: test/MC/Disassembler/ARM/neon.txt
193===================================================================
194--- test/MC/Disassembler/ARM/neon.txt (revision 152265)
195+++ test/MC/Disassembler/ARM/neon.txt (working copy)
196@@ -1876,3 +1876,188 @@
197 # CHECK vld2.8 {d17[], d19[]}, [r7, :16]!
198 0xe7 0xf9 0x3f 0x1d
199 # CHECK vld2.8 {d17[], d19[]}, [r7, :16]
200+
201+# rdar://11034702
202+0x0d 0x87 0x04 0xf4
203+# CHECK: vst1.8 {d8}, [r4]!
204+0x4d 0x87 0x04 0xf4
205+# CHECK: vst1.16 {d8}, [r4]!
206+0x8d 0x87 0x04 0xf4
207+# CHECK: vst1.32 {d8}, [r4]!
208+0xcd 0x87 0x04 0xf4
209+# CHECK: vst1.64 {d8}, [r4]!
210+0x06 0x87 0x04 0xf4
211+# CHECK: vst1.8 {d8}, [r4], r6
212+0x46 0x87 0x04 0xf4
213+# CHECK: vst1.16 {d8}, [r4], r6
214+0x86 0x87 0x04 0xf4
215+# CHECK: vst1.32 {d8}, [r4], r6
216+0xc6 0x87 0x04 0xf4
217+# CHECK: vst1.64 {d8}, [r4], r6
218+
219+0x0d 0x8a 0x04 0xf4
220+# CHECK: vst1.8 {d8, d9}, [r4]!
221+0x4d 0x8a 0x04 0xf4
222+# CHECK: vst1.16 {d8, d9}, [r4]!
223+0x8d 0x8a 0x04 0xf4
224+# CHECK: vst1.32 {d8, d9}, [r4]!
225+0xcd 0x8a 0x04 0xf4
226+# CHECK: vst1.64 {d8, d9}, [r4]!
227+0x06 0x8a 0x04 0xf4
228+# CHECK: vst1.8 {d8, d9}, [r4], r6
229+0x46 0x8a 0x04 0xf4
230+# CHECK: vst1.16 {d8, d9}, [r4], r6
231+0x86 0x8a 0x04 0xf4
232+# CHECK: vst1.32 {d8, d9}, [r4], r6
233+0xc6 0x8a 0x04 0xf4
234+# CHECK: vst1.64 {d8, d9}, [r4], r6
235+
236+0x0d 0x86 0x04 0xf4
237+# CHECK: vst1.8 {d8, d9, d10}, [r4]!
238+0x4d 0x86 0x04 0xf4
239+# CHECK: vst1.16 {d8, d9, d10}, [r4]!
240+0x8d 0x86 0x04 0xf4
241+# CHECK: vst1.32 {d8, d9, d10}, [r4]!
242+0xcd 0x86 0x04 0xf4
243+# CHECK: vst1.64 {d8, d9, d10}, [r4]!
244+0x06 0x86 0x04 0xf4
245+# CHECK: vst1.8 {d8, d9, d10}, [r4], r6
246+0x46 0x86 0x04 0xf4
247+# CHECK: vst1.16 {d8, d9, d10}, [r4], r6
248+0x86 0x86 0x04 0xf4
249+# CHECK: vst1.32 {d8, d9, d10}, [r4], r6
250+0xc6 0x86 0x04 0xf4
251+# CHECK: vst1.64 {d8, d9, d10}, [r4], r6
252+
253+0x0d 0x82 0x04 0xf4
254+# CHECK: vst1.8 {d8, d9, d10, d11}, [r4]!
255+0x4d 0x82 0x04 0xf4
256+# CHECK: vst1.16 {d8, d9, d10, d11}, [r4]!
257+0x8d 0x82 0x04 0xf4
258+# CHECK: vst1.32 {d8, d9, d10, d11}, [r4]!
259+0xcd 0x82 0x04 0xf4
260+# CHECK: vst1.64 {d8, d9, d10, d11}, [r4]!
261+0x06 0x82 0x04 0xf4
262+# CHECK: vst1.8 {d8, d9, d10, d11}, [r4], r6
263+0x46 0x82 0x04 0xf4
264+# CHECK: vst1.16 {d8, d9, d10, d11}, [r4], r6
265+0x86 0x82 0x04 0xf4
266+# CHECK: vst1.32 {d8, d9, d10, d11}, [r4], r6
267+0xc6 0x82 0x04 0xf4
268+# CHECK: vst1.64 {d8, d9, d10, d11}, [r4], r6
269+
270+0x0d 0x88 0x04 0xf4
271+# CHECK: vst2.8 {d8, d9}, [r4]!
272+0x4d 0x88 0x04 0xf4
273+# CHECK: vst2.16 {d8, d9}, [r4]!
274+0x8d 0x88 0x04 0xf4
275+# CHECK: vst2.32 {d8, d9}, [r4]!
276+0x06 0x88 0x04 0xf4
277+# CHECK: vst2.8 {d8, d9}, [r4], r6
278+0x46 0x88 0x04 0xf4
279+# CHECK: vst2.16 {d8, d9}, [r4], r6
280+0x86 0x88 0x04 0xf4
281+# CHECK: vst2.32 {d8, d9}, [r4], r6
282+
283+0x0d 0x89 0x04 0xf4
284+# CHECK: vst2.8 {d8, d10}, [r4]!
285+0x4d 0x89 0x04 0xf4
286+# CHECK: vst2.16 {d8, d10}, [r4]!
287+0x8d 0x89 0x04 0xf4
288+# CHECK: vst2.32 {d8, d10}, [r4]!
289+0x06 0x89 0x04 0xf4
290+# CHECK: vst2.8 {d8, d10}, [r4], r6
291+0x46 0x89 0x04 0xf4
292+# CHECK: vst2.16 {d8, d10}, [r4], r6
293+0x86 0x89 0x04 0xf4
294+# CHECK: vst2.32 {d8, d10}, [r4], r6
295+
296+0x0d 0x84 0x04 0xf4
297+# CHECK: vst3.8 {d8, d9, d10}, [r4]!
298+0x4d 0x84 0x04 0xf4
299+# CHECK: vst3.16 {d8, d9, d10}, [r4]!
300+0x8d 0x84 0x04 0xf4
301+# CHECK: vst3.32 {d8, d9, d10}, [r4]!
302+0x06 0x85 0x04 0xf4
303+# CHECK: vst3.8 {d8, d10, d12}, [r4], r6
304+0x46 0x85 0x04 0xf4
305+# CHECK: vst3.16 {d8, d10, d12}, [r4], r6
306+0x86 0x85 0x04 0xf4
307+# CHECK: vst3.32 {d8, d10, d12}, [r4], r6
308+
309+0x0d 0x80 0x04 0xf4
310+# CHECK: vst4.8 {d8, d9, d10, d11}, [r4]!
311+0x4d 0x80 0x04 0xf4
312+# CHECK: vst4.16 {d8, d9, d10, d11}, [r4]!
313+0x8d 0x80 0x04 0xf4
314+# CHECK: vst4.32 {d8, d9, d10, d11}, [r4]!
315+0x06 0x81 0x04 0xf4
316+# CHECK: vst4.8 {d8, d10, d12, d14}, [r4], r6
317+0x46 0x81 0x04 0xf4
318+# CHECK: vst4.16 {d8, d10, d12, d14}, [r4], r6
319+0x86 0x81 0x04 0xf4
320+# CHECK: vst4.32 {d8, d10, d12, d14}, [r4], r6
321+
322+0x4f 0x8a 0x04 0xf4
323+# CHECK: vst1.16 {d8, d9}, [r4]
324+0x8f 0x8a 0x04 0xf4
325+# CHECK: vst1.32 {d8, d9}, [r4]
326+0xcf 0x8a 0x04 0xf4
327+# CHECK: vst1.64 {d8, d9}, [r4]
328+0x0f 0x8a 0x04 0xf4
329+# CHECK: vst1.8 {d8, d9}, [r4]
330+
331+0x4f 0x88 0x04 0xf4
332+# CHECK: vst2.16 {d8, d9}, [r4]
333+0x8f 0x88 0x04 0xf4
334+# CHECK: vst2.32 {d8, d9}, [r4]
335+0x0f 0x88 0x04 0xf4
336+# CHECK: vst2.8 {d8, d9}, [r4]
337+
338+0x4d 0x88 0x04 0xf4
339+# CHECK: vst2.16 {d8, d9}, [r4]!
340+0x46 0x88 0x04 0xf4
341+# CHECK: vst2.16 {d8, d9}, [r4], r6
342+0x8d 0x88 0x04 0xf4
343+# CHECK: vst2.32 {d8, d9}, [r4]!
344+0x86 0x88 0x04 0xf4
345+# CHECK: vst2.32 {d8, d9}, [r4], r6
346+0x0d 0x88 0x04 0xf4
347+# CHECK: vst2.8 {d8, d9}, [r4]!
348+0x06 0x88 0x04 0xf4
349+# CHECK: vst2.8 {d8, d9}, [r4], r6
350+
351+0x4f 0x89 0x04 0xf4
352+# CHECK: vst2.16 {d8, d10}, [r4]
353+0x8f 0x89 0x04 0xf4
354+# CHECK: vst2.32 {d8, d10}, [r4]
355+0x0f 0x89 0x04 0xf4
356+# CHECK: vst2.8 {d8, d10}, [r4]
357+
358+0x0f 0x84 0x04 0xf4
359+# CHECK: vst3.8 {d8, d9, d10}, [r4]
360+0x4f 0x84 0x04 0xf4
361+# CHECK: vst3.16 {d8, d9, d10}, [r4]
362+0x8f 0x84 0x04 0xf4
363+# CHECK: vst3.32 {d8, d9, d10}, [r4]
364+
365+0x0f 0x80 0x04 0xf4
366+# CHECK: vst4.8 {d8, d9, d10, d11}, [r4]
367+0x4f 0x80 0x04 0xf4
368+# CHECK: vst4.16 {d8, d9, d10, d11}, [r4]
369+0x8f 0x80 0x04 0xf4
370+# CHECK: vst4.32 {d8, d9, d10, d11}, [r4]
371+
372+0x0f 0x85 0x04 0xf4
373+# CHECK: vst3.8 {d8, d10, d12}, [r4]
374+0x4f 0x85 0x04 0xf4
375+# CHECK: vst3.16 {d8, d10, d12}, [r4]
376+0x8f 0x85 0x04 0xf4
377+# CHECK: vst3.32 {d8, d10, d12}, [r4]
378+
379+0x0f 0x81 0x04 0xf4
380+# CHECK: vst4.8 {d8, d10, d12, d14}, [r4]
381+0x4f 0x81 0x04 0xf4
382+# CHECK: vst4.16 {d8, d10, d12, d14}, [r4]
383+0x8f 0x81 0x04 0xf4
384+# CHECK: vst4.32 {d8, d10, d12, d14}, [r4]
385Index: lib/Target/ARM/Disassembler/ARMDisassembler.cpp
386===================================================================
387--- lib/Target/ARM/Disassembler/ARMDisassembler.cpp (revision 152265)
388+++ lib/Target/ARM/Disassembler/ARMDisassembler.cpp (working copy)
389@@ -2313,6 +2313,8 @@
390 case ARM::VST2b8wb_register:
391 case ARM::VST2b16wb_register:
392 case ARM::VST2b32wb_register:
393+ Inst.addOperand(MCOperand::CreateImm(0));
394+ break;
395 case ARM::VST3d8_UPD:
396 case ARM::VST3d16_UPD:
397 case ARM::VST3d32_UPD:
398@@ -2354,6 +2356,23 @@
399 case ARM::VST1q16wb_fixed:
400 case ARM::VST1q32wb_fixed:
401 case ARM::VST1q64wb_fixed:
402+ case ARM::VST1d8Twb_fixed:
403+ case ARM::VST1d16Twb_fixed:
404+ case ARM::VST1d32Twb_fixed:
405+ case ARM::VST1d64Twb_fixed:
406+ case ARM::VST1d8Qwb_fixed:
407+ case ARM::VST1d16Qwb_fixed:
408+ case ARM::VST1d32Qwb_fixed:
409+ case ARM::VST1d64Qwb_fixed:
410+ case ARM::VST2d8wb_fixed:
411+ case ARM::VST2d16wb_fixed:
412+ case ARM::VST2d32wb_fixed:
413+ case ARM::VST2q8wb_fixed:
414+ case ARM::VST2q16wb_fixed:
415+ case ARM::VST2q32wb_fixed:
416+ case ARM::VST2b8wb_fixed:
417+ case ARM::VST2b16wb_fixed:
418+ case ARM::VST2b32wb_fixed:
419 break;
420 }
421