[Hexagon] Adding shuffling resources for HVX instructions and tests for instruction...
[oota-llvm.git] / test / MC / Hexagon / v60-vmem.s
1 #RUN: llvm-mc -triple=hexagon -mcpu=hexagonv60 -filetype=obj %s | \
2 #RUN: llvm-objdump -triple=hexagon -mcpu=hexagonv60 -d - | \
3 #RUN: FileCheck %s
4
5 #CHECK: 292cc11b { vmem(r12++#1) = v27 }
6 {
7   vmem(r12++#1)=v27
8 }
9
10 #CHECK: 294dc319 { v25 = vmem(r13++#3):nt }
11 {
12   v25=vmem(r13++#3):nt
13 }
14
15 #CHECK: 2904c1fb { v27 = vmemu(r4++#1) }
16 {
17   v27=vmemu(r4++#1)
18 }
19
20 #CHECK: 291dc01f { v31 = vmem(r29++#0) }
21 {
22   v31=vmem(r29++#0)
23 }
24
25 #CHECK: 293ec0ff { vmemu(r30++#0) = v31 }
26 {
27   vmemu(r30++#0)=v31
28 }
29
30 #CHECK: 296ec411 { vmem(r14++#-4):nt = v17 }
31 {
32   vmem(r14++#-4):nt=v17
33 }
34
35 #CHECK: 29fec62f { if (!p0) vmem(r30++#-2):nt = v15 }
36 {
37   if (!p0) vmem(r30++#-2):nt=v15
38 }
39
40 #CHECK: 29f9c914 { if (p1) vmem(r25++#1):nt = v20 }
41 {
42   if (p1) vmem(r25++#1):nt=v20
43 }
44
45 #CHECK: 2984de30 { if (!q3) vmem(r4++#-2) = v16 }
46 {
47   if (!q3) vmem(r4++#-2)=v16
48 }
49
50 #CHECK: 2992dd1f { if (q3) vmem(r18++#-3) = v31 }
51 {
52   if (q3) vmem(r18++#-3)=v31
53 }
54
55 #CHECK: 29c9c425 { if (!q0) vmem(r9++#-4):nt = v5 }
56 {
57   if (!q0) vmem(r9++#-4):nt=v5
58 }
59
60 #CHECK: 29d1cf11 { if (q1) vmem(r17++#-1):nt = v17 }
61 {
62   if (q1) vmem(r17++#-1):nt=v17
63 }
64
65 #CHECK: 29a7c328 { if (!p0) vmem(r7++#3) = v8 }
66 {
67   if (!p0) vmem(r7++#3)=v8
68 }
69
70 #CHECK: 29b6cc1d { if (p1) vmem(r22++#-4) = v29 }
71 {
72   if (p1) vmem(r22++#-4)=v29
73 }
74
75 #CHECK: 29abc5fe { if (!p0) vmemu(r11++#-3) = v30 }
76 {
77   if (!p0) vmemu(r11++#-3)=v30
78 }
79
80 #CHECK: 29b8d5c4 { if (p2) vmemu(r24++#-3) = v4 }
81 {
82   if (p2) vmemu(r24++#-3)=v4
83 }
84
85 #CHECK: 2860e407 { vmem(r0+#-4):nt = v7 }
86 {
87   vmem(r0+#-4):nt=v7
88 }
89
90 #CHECK: 2830e2e7 { vmemu(r16+#-6) = v7 }
91 {
92   vmemu(r16+#-6)=v7
93 }
94
95 #CHECK: 2839c316 { vmem(r25+#3) = v22 }
96 {
97   vmem(r25+#3)=v22
98 }
99 #CHECK: 284be316 { v22 = vmem(r11+#-5):nt }
100 {
101   v22=vmem(r11+#-5):nt
102 }
103
104 #CHECK: 280ec1e6 { v6 = vmemu(r14+#1) }
105 {
106   v6=vmemu(r14+#1)
107 }
108
109 #CHECK: 280ae50c { v12 = vmem(r10+#-3) }
110 {
111   v12=vmem(r10+#-3)
112 }
113
114 #CHECK: 2b62e005 { vmem(r2++m1):nt = v5 }
115 {
116   vmem(r2++m1):nt=v5
117 }
118
119 #CHECK: 2b28e0f2 { vmemu(r8++m1) = v18 }
120 {
121   vmemu(r8++m1)=v18
122 }
123
124 #CHECK: 2b42e019 { v25 = vmem(r2++m1):nt }
125 {
126   v25=vmem(r2++m1):nt
127 }
128
129 #CHECK: 2b2ce009 { vmem(r12++m1) = v9 }
130 {
131   vmem(r12++m1)=v9
132 }
133
134 #CHECK: 2b03c005 { v5 = vmem(r3++m0) }
135 {
136   v5=vmem(r3++m0)
137 }
138
139
140 #CHECK: 2b0ec0f5 { v21 = vmemu(r14++m0) }
141 {
142   v21=vmemu(r14++m0)
143 }
144
145 #CHECK: 2be8c022 { if (!p0) vmem(r8++m0):nt = v2 }
146 {
147   if (!p0) vmem(r8++m0):nt=v2
148 }
149
150 #CHECK: 2bebd813 { if (p3) vmem(r11++m0):nt = v19 }
151 {
152   if (p3) vmem(r11++m0):nt=v19
153 }
154
155 #CHECK: 2ba5e0e7 { if (!p0) vmemu(r5++m1) = v7 }
156 {
157   if (!p0) vmemu(r5++m1)=v7
158 }
159
160 #CHECK: 2ba4f0dd { if (p2) vmemu(r4++m1) = v29 }
161 {
162   if (p2) vmemu(r4++m1)=v29
163 }
164
165 #CHECK: 2ba4e828 { if (!p1) vmem(r4++m1) = v8 }
166 {
167   if (!p1) vmem(r4++m1)=v8
168 }
169
170 #CHECK: 2bbae803 { if (p1) vmem(r26++m1) = v3 }
171 {
172   if (p1) vmem(r26++m1)=v3
173 }
174
175 #CHECK: 2bc9c027 { if (!q0) vmem(r9++m0):nt = v7 }
176 {
177   if (!q0) vmem(r9++m0):nt=v7
178 }
179
180 #CHECK: 2bcfc001 { if (q0) vmem(r15++m0):nt = v1 }
181 {
182   if (q0) vmem(r15++m0):nt=v1
183 }
184
185 #CHECK: 2b97f031 { if (!q2) vmem(r23++m1) = v17 }
186 {
187   if (!q2) vmem(r23++m1)=v17
188 }
189
190 #CHECK: 2b8ad809 { if (q3) vmem(r10++m0) = v9 }
191 {
192   if (q3) vmem(r10++m0)=v9
193 }
194
195 #CHECK: 28c7f438 { if (!q2) vmem(r7+#-4):nt = v24 }
196 {
197   if (!q2) vmem(r7+#-4):nt=v24
198 }
199
200 #CHECK: 28d1eb15 { if (q1) vmem(r17+#-5):nt = v21 }
201 {
202   if (q1) vmem(r17+#-5):nt=v21
203 }
204
205 #CHECK: 289cfe2b { if (!q3) vmem(r28+#-2) = v11 }
206 {
207   if (!q3) vmem(r28+#-2)=v11
208 }
209
210 #CHECK: 288eef0f { if (q1) vmem(r14+#-1) = v15 }
211 {
212   if (q1) vmem(r14+#-1)=v15
213 }
214
215 #CHECK: 28a2d1e1 { if (!p2) vmemu(r2+#1) = v1 }
216 {
217   if (!p2) vmemu(r2+#1)=v1
218 }
219
220 #CHECK: 28bcf4db { if (p2) vmemu(r28+#-4) = v27 }
221 {
222   if (p2) vmemu(r28+#-4)=v27
223 }
224
225 #CHECK: 28b2c925 { if (!p1) vmem(r18+#1) = v5 }
226 {
227   if (!p1) vmem(r18+#1)=v5
228 }
229
230 #CHECK: 28afe41a { if (p0) vmem(r15+#-4) = v26 }
231 {
232   if (p0) vmem(r15+#-4)=v26
233 }
234
235 #CHECK: 28f7fd3a { if (!p3) vmem(r23+#-3):nt = v26 }
236 {
237   if (!p3) vmem(r23+#-3):nt=v26
238 }
239
240 #CHECK: 28f5fd10 { if (p3) vmem(r21+#-3):nt = v16 }
241 {
242   if (p3) vmem(r21+#-3):nt=v16
243 }
244
245 #CHECK: 2945c440 v0.tmp = vmem(r5++#-4):nt }
246 {
247   v0.tmp=vmem(r5++#-4):nt
248   v26=v0
249 }
250
251 #CHECK: 2942c338 v24.cur = vmem(r2++#3):nt }
252 {
253   v24.cur=vmem(r2++#3):nt
254   v6=v24
255 }
256
257 #CHECK: 2908c157 v23.tmp = vmem(r8++#1) }
258 {
259   v25=v23
260   v23.tmp=vmem(r8++#1)
261 }
262
263 #CHECK: 2903c72d v13.cur = vmem(r3++#-1) }
264 {
265   v13.cur=vmem(r3++#-1)
266   v21=v13
267 }
268
269 #CHECK: 2855c743 v3.tmp = vmem(r21+#7):nt }
270 {
271   v3.tmp=vmem(r21+#7):nt
272   v21=v3
273 }
274
275 #CHECK: 2856e025 v5.cur = vmem(r22+#-8):nt }
276 {
277   v5.cur=vmem(r22+#-8):nt
278   v29=v5
279 }
280
281 #CHECK: 2802c555 v21.tmp = vmem(r2+#5) }
282 {
283   v31=v21
284   v21.tmp=vmem(r2+#5)
285 }
286
287 #CHECK: 2814e12a v10.cur = vmem(r20+#-7) }
288 {
289   v9=v10
290   v10.cur=vmem(r20+#-7)
291 }
292
293
294 #CHECK: 2b52c02c v12.cur = vmem(r18++m0):nt }
295 {
296   v12.cur=vmem(r18++m0):nt
297   v25=v12
298 }
299
300 #CHECK: 2b4ae043 v3.tmp = vmem(r10++m1):nt }
301 {
302   v25=v3
303   v3.tmp=vmem(r10++m1):nt
304 }
305
306 #CHECK: 2b06c025 v5.cur = vmem(r6++m0) }
307 {
308   v5.cur=vmem(r6++m0)
309   v10=v5
310 }
311
312 #CHECK: 2b17e048 v8.tmp = vmem(r23++m1) }
313 {
314   v8.tmp=vmem(r23++m1)
315   v28=v8
316 }
317
318 #CHECK: 282ee422 vmem(r14+#-4) = v14.new }
319 {
320   v14 = v14
321   vmem(r14+#-4)=v14.new
322 }
323
324 #CHECK: 2866e222 vmem(r6+#-6):nt = v16.new }
325 {
326   v16 = v8
327   vmem(r6+#-6):nt=v16.new
328 }
329
330 #CHECK: 28b1cd42 if(p1) vmem(r17+#5) = v17.new }
331 {
332   v17 = v25
333   if(p1)vmem(r17+#5)=v17.new
334 }
335
336 #CHECK: 28bbeb6a if(!p1) vmem(r27+#-5) = v17.new }
337 {
338   v17 = v15
339   if(!p1)vmem(r27+#-5)=v17.new
340 }
341
342 #CHECK: 28e4d252 if(p2) vmem(r4+#2):nt = v24.new }
343 {
344   v24 = v10
345   if(p2)vmem(r4+#2):nt=v24.new
346 }
347
348 #CHECK: 28f8d17a if(!p2) vmem(r24+#1):nt = v4.new }
349 {
350   v4 = v8
351   if(!p2)vmem(r24+#1):nt=v4.new
352 }
353
354 #CHECK: 2924c322 vmem(r4++#3) = v4.new }
355 {
356   v4 = v3
357   vmem(r4++#3)=v4.new
358 }
359
360 #CHECK: 2961c122 vmem(r1++#1):nt = v7.new }
361 {
362   v7 = v8
363   vmem(r1++#1):nt=v7.new
364 }
365
366 #CHECK: 29a6d042 if(p2) vmem(r6++#0) = v11.new }
367 {
368   v11 = v13
369   if(p2)vmem(r6++#0)=v11.new
370 }
371
372 #CHECK: 29a2cb6a if(!p1) vmem(r2++#3) = v25.new }
373 {
374   v25 = v17
375   if(!p1)vmem(r2++#3)=v25.new
376 }
377
378 #CHECK: 29f5c952 if(p1) vmem(r21++#1):nt = v14.new }
379 {
380   v14 = v13
381   if(p1)vmem(r21++#1):nt=v14.new
382 }
383
384 #CHECK: 29f7cd7a if(!p1) vmem(r23++#-3):nt = v1.new }
385 {
386   v1 = v0
387   if(!p1)vmem(r23++#-3):nt=v1.new
388 }
389
390 #CHECK: 2b3ec022 vmem(r30++m0) = v10.new }
391 {
392   v10 = v23
393   vmem(r30++m0)=v10.new
394 }
395
396 #CHECK: 2b6fc022 vmem(r15++m0):nt = v19.new }
397 {
398   v19 = v20
399   vmem(r15++m0):nt=v19.new
400 }
401
402 #CHECK: 2bb7f042 if(p2) vmem(r23++m1) = v6.new }
403 {
404   v6 = v30
405   if(p2)vmem(r23++m1)=v6.new
406 }
407
408 #CHECK: 2ba2f06a if(!p2) vmem(r2++m1) = v12.new }
409 {
410   v12 = v9
411   if(!p2)vmem(r2++m1)=v12.new
412 }
413
414 #CHECK: 2be7e852 if(p1) vmem(r7++m1):nt = v3.new }
415 {
416   v3 = v13
417   if(p1)vmem(r7++m1):nt=v3.new
418 }
419
420 #CHECK: 2bfdd07a if(!p2) vmem(r29++m0):nt = v29.new }
421 {
422   v29 = v9
423   if(!p2)vmem(r29++m0):nt=v29.new
424 }