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}
425