• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# RUN: llvm-mc -arch=hexagon -mcpu=hexagonv67 -mhvx -filetype=obj %s | llvm-objdump --mcpu=hexagonv67 --mhvx -d - | FileCheck --implicit-check-not='{' %s
2
3
4
5// Warning: This file is auto generated by mktest.py.  Do not edit!
6// Created at Wed Aug 22 11:17:37 2018
7// Created using:
8//  Arch: v67, commit: 324e85a78e99759c3643d207f9d9b42bbfaf00f6
9
10//  V6_extractw
11//  Rd32=vextract(Vu32,Rs32)
12    r0=vextract(v0,r0)
13# CHECK: 9200c020 { r0 = vextract(v0,r0) }
14
15//  V6_lvsplatb
16//  Vd32.b=vsplat(Rt32)
17    v0.b=vsplat(r0)
18# CHECK-NEXT: 19c0c040 { v0.b = vsplat(r0) }
19
20//  V6_lvsplath
21//  Vd32.h=vsplat(Rt32)
22    v0.h=vsplat(r0)
23# CHECK-NEXT: 19c0c020 { v0.h = vsplat(r0) }
24
25//  V6_lvsplatw
26//  Vd32=vsplat(Rt32)
27    v0=vsplat(r0)
28# CHECK-NEXT: 19a0c020 { v0 = vsplat(r0) }
29
30//  V6_pred_and
31//  Qd4=and(Qs4,Qt4)
32    q0=and(q0,q0)
33# CHECK-NEXT: 1e03c000 { q0 = and(q0,q0) }
34
35//  V6_pred_and_n
36//  Qd4=and(Qs4,!Qt4)
37    q0=and(q0,!q0)
38# CHECK-NEXT: 1e03c014 { q0 = and(q0,!q0) }
39
40//  V6_pred_not
41//  Qd4=not(Qs4)
42    q0=not(q0)
43# CHECK-NEXT: 1e03c008 { q0 = not(q0) }
44
45//  V6_pred_or
46//  Qd4=or(Qs4,Qt4)
47    q0=or(q0,q0)
48# CHECK-NEXT: 1e03c004 { q0 = or(q0,q0) }
49
50//  V6_pred_or_n
51//  Qd4=or(Qs4,!Qt4)
52    q0=or(q0,!q0)
53# CHECK-NEXT: 1e03c010 { q0 = or(q0,!q0) }
54
55//  V6_pred_scalar2
56//  Qd4=vsetq(Rt32)
57    q0=vsetq(r0)
58# CHECK-NEXT: 19a0c044 { q0 = vsetq(r0) }
59
60//  V6_pred_scalar2v2
61//  Qd4=vsetq2(Rt32)
62    q0=vsetq2(r0)
63# CHECK-NEXT: 19a0c04c { q0 = vsetq2(r0) }
64
65//  V6_pred_xor
66//  Qd4=xor(Qs4,Qt4)
67    q0=xor(q0,q0)
68# CHECK-NEXT: 1e03c00c { q0 = xor(q0,q0) }
69
70//  V6_shuffeqh
71//  Qd4.b=vshuffe(Qs4.h,Qt4.h)
72    q0.b=vshuffe(q0.h,q0.h)
73# CHECK-NEXT: 1e03c018 { q0.b = vshuffe(q0.h,q0.h) }
74
75//  V6_shuffeqw
76//  Qd4.h=vshuffe(Qs4.w,Qt4.w)
77    q0.h=vshuffe(q0.w,q0.w)
78# CHECK-NEXT: 1e03c01c { q0.h = vshuffe(q0.w,q0.w) }
79
80//  V6_vL32Ub_ai
81//  Vd32=vmemu(Rt32+#s4)
82    v0=vmemu(r0+#0)
83# CHECK-NEXT: 2800c0e0 { v0 = vmemu(r0+#0) }
84
85//  V6_vL32Ub_pi
86//  Vd32=vmemu(Rx32++#s3)
87    v0=vmemu(r0++#0)
88# CHECK-NEXT: 2900c0e0 { v0 = vmemu(r0++#0) }
89
90//  V6_vL32Ub_ppu
91//  Vd32=vmemu(Rx32++Mu2)
92    v0=vmemu(r0++m0)
93# CHECK-NEXT: 2b00c0e0 { v0 = vmemu(r0++m0) }
94
95//  V6_vL32b_ai
96//  Vd32=vmem(Rt32+#s4)
97    v0=vmem(r0+#0)
98# CHECK-NEXT: 2800c000 { v0 = vmem(r0+#0) }
99
100//  V6_vL32b_cur_ai
101//  Vd32.cur=vmem(Rt32+#s4)
102    v0.cur=vmem(r0+#0)
103# CHECK-NEXT: 2800c020 { v0.cur = vmem(r0+#0) }
104
105//  V6_vL32b_cur_npred_ai
106//  if (!Pv4) Vd32.cur=vmem(Rt32+#s4)
107    if (!p0) v0.cur=vmem(r0+#0)
108# CHECK-NEXT: 2880c0a0 { if (!p0) v0.cur = vmem(r0+#0) }
109
110//  V6_vL32b_cur_npred_pi
111//  if (!Pv4) Vd32.cur=vmem(Rx32++#s3)
112    if (!p0) v0.cur=vmem(r0++#0)
113# CHECK-NEXT: 2980c0a0 { if (!p0) v0.cur = vmem(r0++#0) }
114
115//  V6_vL32b_cur_npred_ppu
116//  if (!Pv4) Vd32.cur=vmem(Rx32++Mu2)
117    if (!p0) v0.cur=vmem(r0++m0)
118# CHECK-NEXT: 2b80c0a0 { if (!p0) v0.cur = vmem(r0++m0) }
119
120//  V6_vL32b_cur_pi
121//  Vd32.cur=vmem(Rx32++#s3)
122    v0.cur=vmem(r0++#0)
123# CHECK-NEXT: 2900c020 { v0.cur = vmem(r0++#0) }
124
125//  V6_vL32b_cur_ppu
126//  Vd32.cur=vmem(Rx32++Mu2)
127    v0.cur=vmem(r0++m0)
128# CHECK-NEXT: 2b00c020 { v0.cur = vmem(r0++m0) }
129
130//  V6_vL32b_cur_pred_ai
131//  if (Pv4) Vd32.cur=vmem(Rt32+#s4)
132    if (p0) v0.cur=vmem(r0+#0)
133# CHECK-NEXT: 2880c080 { if (p0) v0.cur = vmem(r0+#0) }
134
135//  V6_vL32b_cur_pred_pi
136//  if (Pv4) Vd32.cur=vmem(Rx32++#s3)
137    if (p0) v0.cur=vmem(r0++#0)
138# CHECK-NEXT: 2980c080 { if (p0) v0.cur = vmem(r0++#0) }
139
140//  V6_vL32b_cur_pred_ppu
141//  if (Pv4) Vd32.cur=vmem(Rx32++Mu2)
142    if (p0) v0.cur=vmem(r0++m0)
143# CHECK-NEXT: 2b80c080 { if (p0) v0.cur = vmem(r0++m0) }
144
145//  V6_vL32b_npred_ai
146//  if (!Pv4) Vd32=vmem(Rt32+#s4)
147    if (!p0) v0=vmem(r0+#0)
148# CHECK-NEXT: 2880c060 { if (!p0) v0 = vmem(r0+#0) }
149
150//  V6_vL32b_npred_pi
151//  if (!Pv4) Vd32=vmem(Rx32++#s3)
152    if (!p0) v0=vmem(r0++#0)
153# CHECK-NEXT: 2980c060 { if (!p0) v0 = vmem(r0++#0) }
154
155//  V6_vL32b_npred_ppu
156//  if (!Pv4) Vd32=vmem(Rx32++Mu2)
157    if (!p0) v0=vmem(r0++m0)
158# CHECK-NEXT: 2b80c060 { if (!p0) v0 = vmem(r0++m0) }
159
160//  V6_vL32b_nt_ai
161//  Vd32=vmem(Rt32+#s4):nt
162    v0=vmem(r0+#0):nt
163# CHECK-NEXT: 2840c000 { v0 = vmem(r0+#0):nt }
164
165//  V6_vL32b_nt_cur_ai
166//  Vd32.cur=vmem(Rt32+#s4):nt
167    v0.cur=vmem(r0+#0):nt
168# CHECK-NEXT: 2840c020 { v0.cur = vmem(r0+#0):nt }
169
170//  V6_vL32b_nt_cur_npred_ai
171//  if (!Pv4) Vd32.cur=vmem(Rt32+#s4):nt
172    if (!p0) v0.cur=vmem(r0+#0):nt
173# CHECK-NEXT: 28c0c0a0 { if (!p0) v0.cur = vmem(r0+#0):nt }
174
175//  V6_vL32b_nt_cur_npred_pi
176//  if (!Pv4) Vd32.cur=vmem(Rx32++#s3):nt
177    if (!p0) v0.cur=vmem(r0++#0):nt
178# CHECK-NEXT: 29c0c0a0 { if (!p0) v0.cur = vmem(r0++#0):nt }
179
180//  V6_vL32b_nt_cur_npred_ppu
181//  if (!Pv4) Vd32.cur=vmem(Rx32++Mu2):nt
182    if (!p0) v0.cur=vmem(r0++m0):nt
183# CHECK-NEXT: 2bc0c0a0 { if (!p0) v0.cur = vmem(r0++m0):nt }
184
185//  V6_vL32b_nt_cur_pi
186//  Vd32.cur=vmem(Rx32++#s3):nt
187    v0.cur=vmem(r0++#0):nt
188# CHECK-NEXT: 2940c020 { v0.cur = vmem(r0++#0):nt }
189
190//  V6_vL32b_nt_cur_ppu
191//  Vd32.cur=vmem(Rx32++Mu2):nt
192    v0.cur=vmem(r0++m0):nt
193# CHECK-NEXT: 2b40c020 { v0.cur = vmem(r0++m0):nt }
194
195//  V6_vL32b_nt_cur_pred_ai
196//  if (Pv4) Vd32.cur=vmem(Rt32+#s4):nt
197    if (p0) v0.cur=vmem(r0+#0):nt
198# CHECK-NEXT: 28c0c080 { if (p0) v0.cur = vmem(r0+#0):nt }
199
200//  V6_vL32b_nt_cur_pred_pi
201//  if (Pv4) Vd32.cur=vmem(Rx32++#s3):nt
202    if (p0) v0.cur=vmem(r0++#0):nt
203# CHECK-NEXT: 29c0c080 { if (p0) v0.cur = vmem(r0++#0):nt }
204
205//  V6_vL32b_nt_cur_pred_ppu
206//  if (Pv4) Vd32.cur=vmem(Rx32++Mu2):nt
207    if (p0) v0.cur=vmem(r0++m0):nt
208# CHECK-NEXT: 2bc0c080 { if (p0) v0.cur = vmem(r0++m0):nt }
209
210//  V6_vL32b_nt_npred_ai
211//  if (!Pv4) Vd32=vmem(Rt32+#s4):nt
212    if (!p0) v0=vmem(r0+#0):nt
213# CHECK-NEXT: 28c0c060 { if (!p0) v0 = vmem(r0+#0):nt }
214
215//  V6_vL32b_nt_npred_pi
216//  if (!Pv4) Vd32=vmem(Rx32++#s3):nt
217    if (!p0) v0=vmem(r0++#0):nt
218# CHECK-NEXT: 29c0c060 { if (!p0) v0 = vmem(r0++#0):nt }
219
220//  V6_vL32b_nt_npred_ppu
221//  if (!Pv4) Vd32=vmem(Rx32++Mu2):nt
222    if (!p0) v0=vmem(r0++m0):nt
223# CHECK-NEXT: 2bc0c060 { if (!p0) v0 = vmem(r0++m0):nt }
224
225//  V6_vL32b_nt_pi
226//  Vd32=vmem(Rx32++#s3):nt
227    v0=vmem(r0++#0):nt
228# CHECK-NEXT: 2940c000 { v0 = vmem(r0++#0):nt }
229
230//  V6_vL32b_nt_ppu
231//  Vd32=vmem(Rx32++Mu2):nt
232    v0=vmem(r0++m0):nt
233# CHECK-NEXT: 2b40c000 { v0 = vmem(r0++m0):nt }
234
235//  V6_vL32b_nt_pred_ai
236//  if (Pv4) Vd32=vmem(Rt32+#s4):nt
237    if (p0) v0=vmem(r0+#0):nt
238# CHECK-NEXT: 28c0c040 { if (p0) v0 = vmem(r0+#0):nt }
239
240//  V6_vL32b_nt_pred_pi
241//  if (Pv4) Vd32=vmem(Rx32++#s3):nt
242    if (p0) v0=vmem(r0++#0):nt
243# CHECK-NEXT: 29c0c040 { if (p0) v0 = vmem(r0++#0):nt }
244
245//  V6_vL32b_nt_pred_ppu
246//  if (Pv4) Vd32=vmem(Rx32++Mu2):nt
247    if (p0) v0=vmem(r0++m0):nt
248# CHECK-NEXT: 2bc0c040 { if (p0) v0 = vmem(r0++m0):nt }
249
250//  V6_vL32b_nt_tmp_ai
251//  Vd32.tmp=vmem(Rt32+#s4):nt
252    v0.tmp=vmem(r0+#0):nt
253# CHECK-NEXT: 2840c040 { v0.tmp = vmem(r0+#0):nt }
254
255//  V6_vL32b_nt_tmp_npred_ai
256//  if (!Pv4) Vd32.tmp=vmem(Rt32+#s4):nt
257    if (!p0) v0.tmp=vmem(r0+#0):nt
258# CHECK-NEXT: 28c0c0e0 { if (!p0) v0.tmp = vmem(r0+#0):nt }
259
260//  V6_vL32b_nt_tmp_npred_pi
261//  if (!Pv4) Vd32.tmp=vmem(Rx32++#s3):nt
262    if (!p0) v0.tmp=vmem(r0++#0):nt
263# CHECK-NEXT: 29c0c0e0 { if (!p0) v0.tmp = vmem(r0++#0):nt }
264
265//  V6_vL32b_nt_tmp_npred_ppu
266//  if (!Pv4) Vd32.tmp=vmem(Rx32++Mu2):nt
267    if (!p0) v0.tmp=vmem(r0++m0):nt
268# CHECK-NEXT: 2bc0c0e0 { if (!p0) v0.tmp = vmem(r0++m0):nt }
269
270//  V6_vL32b_nt_tmp_pi
271//  Vd32.tmp=vmem(Rx32++#s3):nt
272    v0.tmp=vmem(r0++#0):nt
273# CHECK-NEXT: 2940c040 { v0.tmp = vmem(r0++#0):nt }
274
275//  V6_vL32b_nt_tmp_ppu
276//  Vd32.tmp=vmem(Rx32++Mu2):nt
277    v0.tmp=vmem(r0++m0):nt
278# CHECK-NEXT: 2b40c040 { v0.tmp = vmem(r0++m0):nt }
279
280//  V6_vL32b_nt_tmp_pred_ai
281//  if (Pv4) Vd32.tmp=vmem(Rt32+#s4):nt
282    if (p0) v0.tmp=vmem(r0+#0):nt
283# CHECK-NEXT: 28c0c0c0 { if (p0) v0.tmp = vmem(r0+#0):nt }
284
285//  V6_vL32b_nt_tmp_pred_pi
286//  if (Pv4) Vd32.tmp=vmem(Rx32++#s3):nt
287    if (p0) v0.tmp=vmem(r0++#0):nt
288# CHECK-NEXT: 29c0c0c0 { if (p0) v0.tmp = vmem(r0++#0):nt }
289
290//  V6_vL32b_nt_tmp_pred_ppu
291//  if (Pv4) Vd32.tmp=vmem(Rx32++Mu2):nt
292    if (p0) v0.tmp=vmem(r0++m0):nt
293# CHECK-NEXT: 2bc0c0c0 { if (p0) v0.tmp = vmem(r0++m0):nt }
294
295//  V6_vL32b_pi
296//  Vd32=vmem(Rx32++#s3)
297    v0=vmem(r0++#0)
298# CHECK-NEXT: 2900c000 { v0 = vmem(r0++#0) }
299
300//  V6_vL32b_ppu
301//  Vd32=vmem(Rx32++Mu2)
302    v0=vmem(r0++m0)
303# CHECK-NEXT: 2b00c000 { v0 = vmem(r0++m0) }
304
305//  V6_vL32b_pred_ai
306//  if (Pv4) Vd32=vmem(Rt32+#s4)
307    if (p0) v0=vmem(r0+#0)
308# CHECK-NEXT: 2880c040 { if (p0) v0 = vmem(r0+#0) }
309
310//  V6_vL32b_pred_pi
311//  if (Pv4) Vd32=vmem(Rx32++#s3)
312    if (p0) v0=vmem(r0++#0)
313# CHECK-NEXT: 2980c040 { if (p0) v0 = vmem(r0++#0) }
314
315//  V6_vL32b_pred_ppu
316//  if (Pv4) Vd32=vmem(Rx32++Mu2)
317    if (p0) v0=vmem(r0++m0)
318# CHECK-NEXT: 2b80c040 { if (p0) v0 = vmem(r0++m0) }
319
320//  V6_vL32b_tmp_ai
321//  Vd32.tmp=vmem(Rt32+#s4)
322    v0.tmp=vmem(r0+#0)
323# CHECK-NEXT: 2800c040 { v0.tmp = vmem(r0+#0) }
324
325//  V6_vL32b_tmp_npred_ai
326//  if (!Pv4) Vd32.tmp=vmem(Rt32+#s4)
327    if (!p0) v0.tmp=vmem(r0+#0)
328# CHECK-NEXT: 2880c0e0 { if (!p0) v0.tmp = vmem(r0+#0) }
329
330//  V6_vL32b_tmp_npred_pi
331//  if (!Pv4) Vd32.tmp=vmem(Rx32++#s3)
332    if (!p0) v0.tmp=vmem(r0++#0)
333# CHECK-NEXT: 2980c0e0 { if (!p0) v0.tmp = vmem(r0++#0) }
334
335//  V6_vL32b_tmp_npred_ppu
336//  if (!Pv4) Vd32.tmp=vmem(Rx32++Mu2)
337    if (!p0) v0.tmp=vmem(r0++m0)
338# CHECK-NEXT: 2b80c0e0 { if (!p0) v0.tmp = vmem(r0++m0) }
339
340//  V6_vL32b_tmp_pi
341//  Vd32.tmp=vmem(Rx32++#s3)
342    v0.tmp=vmem(r0++#0)
343# CHECK-NEXT: 2900c040 { v0.tmp = vmem(r0++#0) }
344
345//  V6_vL32b_tmp_ppu
346//  Vd32.tmp=vmem(Rx32++Mu2)
347    v0.tmp=vmem(r0++m0)
348# CHECK-NEXT: 2b00c040 { v0.tmp = vmem(r0++m0) }
349
350//  V6_vL32b_tmp_pred_ai
351//  if (Pv4) Vd32.tmp=vmem(Rt32+#s4)
352    if (p0) v0.tmp=vmem(r0+#0)
353# CHECK-NEXT: 2880c0c0 { if (p0) v0.tmp = vmem(r0+#0) }
354
355//  V6_vL32b_tmp_pred_pi
356//  if (Pv4) Vd32.tmp=vmem(Rx32++#s3)
357    if (p0) v0.tmp=vmem(r0++#0)
358# CHECK-NEXT: 2980c0c0 { if (p0) v0.tmp = vmem(r0++#0) }
359
360//  V6_vL32b_tmp_pred_ppu
361//  if (Pv4) Vd32.tmp=vmem(Rx32++Mu2)
362    if (p0) v0.tmp=vmem(r0++m0)
363# CHECK-NEXT: 2b80c0c0 { if (p0) v0.tmp = vmem(r0++m0) }
364
365//  V6_vS32Ub_ai
366//  vmemu(Rt32+#s4)=Vs32
367    vmemu(r0+#0)=v0
368# CHECK-NEXT: 2820c0e0 { vmemu(r0+#0) = v0 }
369
370//  V6_vS32Ub_npred_ai
371//  if (!Pv4) vmemu(Rt32+#s4)=Vs32
372    if (!p0) vmemu(r0+#0)=v0
373# CHECK-NEXT: 28a0c0e0 { if (!p0) vmemu(r0+#0) = v0 }
374
375//  V6_vS32Ub_npred_pi
376//  if (!Pv4) vmemu(Rx32++#s3)=Vs32
377    if (!p0) vmemu(r0++#0)=v0
378# CHECK-NEXT: 29a0c0e0 { if (!p0) vmemu(r0++#0) = v0 }
379
380//  V6_vS32Ub_npred_ppu
381//  if (!Pv4) vmemu(Rx32++Mu2)=Vs32
382    if (!p0) vmemu(r0++m0)=v0
383# CHECK-NEXT: 2ba0c0e0 { if (!p0) vmemu(r0++m0) = v0 }
384
385//  V6_vS32Ub_pi
386//  vmemu(Rx32++#s3)=Vs32
387    vmemu(r0++#0)=v0
388# CHECK-NEXT: 2920c0e0 { vmemu(r0++#0) = v0 }
389
390//  V6_vS32Ub_ppu
391//  vmemu(Rx32++Mu2)=Vs32
392    vmemu(r0++m0)=v0
393# CHECK-NEXT: 2b20c0e0 { vmemu(r0++m0) = v0 }
394
395//  V6_vS32Ub_pred_ai
396//  if (Pv4) vmemu(Rt32+#s4)=Vs32
397    if (p0) vmemu(r0+#0)=v0
398# CHECK-NEXT: 28a0c0c0 { if (p0) vmemu(r0+#0) = v0 }
399
400//  V6_vS32Ub_pred_pi
401//  if (Pv4) vmemu(Rx32++#s3)=Vs32
402    if (p0) vmemu(r0++#0)=v0
403# CHECK-NEXT: 29a0c0c0 { if (p0) vmemu(r0++#0) = v0 }
404
405//  V6_vS32Ub_pred_ppu
406//  if (Pv4) vmemu(Rx32++Mu2)=Vs32
407    if (p0) vmemu(r0++m0)=v0
408# CHECK-NEXT: 2ba0c0c0 { if (p0) vmemu(r0++m0) = v0 }
409
410//  V6_vS32b_ai
411//  vmem(Rt32+#s4)=Vs32
412    vmem(r0+#0)=v0
413# CHECK-NEXT: 2820c000 { vmem(r0+#0) = v0 }
414
415//  V6_vS32b_new_ai
416//  vmem(Rt32+#s4)=Os8.new
417{
418   v0 = v1
419   vmem(r0+#0)=v0.new
420}
421# CHECK-NEXT: 1e0361e0 { v0 = v1
422# CHECK-NEXT: 2820c022   vmem(r0+#0) = v0.new }
423
424//  V6_vS32b_new_npred_ai
425//  if (!Pv4) vmem(Rt32+#s4)=Os8.new
426{
427   v0 = v1
428   if (!p0) vmem(r0+#0)=v0.new
429}
430# CHECK-NEXT: 1e0361e0 { v0 = v1
431# CHECK-NEXT: 28a0c06a   if (!p0) vmem(r0+#0) = v0.new }
432
433//  V6_vS32b_new_npred_pi
434//  if (!Pv4) vmem(Rx32++#s3)=Os8.new
435{
436   v0 = v1
437   if (!p0) vmem(r0++#0)=v0.new
438}
439# CHECK-NEXT: 1e0361e0 { v0 = v1
440# CHECK-NEXT: 29a0c06a   if (!p0) vmem(r0++#0) = v0.new }
441
442//  V6_vS32b_new_npred_ppu
443//  if (!Pv4) vmem(Rx32++Mu2)=Os8.new
444{
445   v0 = v1
446   if (!p0) vmem(r0++m0)=v0.new
447}
448# CHECK-NEXT: 1e0361e0 { v0 = v1
449# CHECK-NEXT: 2ba0c06a   if (!p0) vmem(r0++m0) = v0.new }
450
451//  V6_vS32b_new_pi
452//  vmem(Rx32++#s3)=Os8.new
453{
454   v0 = v1
455   vmem(r0++#0)=v0.new
456}
457# CHECK-NEXT: 1e0361e0 { v0 = v1
458# CHECK-NEXT: 2920c022   vmem(r0++#0) = v0.new }
459
460//  V6_vS32b_new_ppu
461//  vmem(Rx32++Mu2)=Os8.new
462{
463   v0 = v1
464   vmem(r0++m0)=v0.new
465}
466# CHECK-NEXT: 1e0361e0 { v0 = v1
467# CHECK-NEXT: 2b20c022   vmem(r0++m0) = v0.new }
468
469//  V6_vS32b_new_pred_ai
470//  if (Pv4) vmem(Rt32+#s4)=Os8.new
471{
472   v0 = v1
473   if (p0) vmem(r0+#0)=v0.new
474}
475# CHECK-NEXT: 1e0361e0 { v0 = v1
476# CHECK-NEXT: 28a0c042   if (p0) vmem(r0+#0) = v0.new }
477
478//  V6_vS32b_new_pred_pi
479//  if (Pv4) vmem(Rx32++#s3)=Os8.new
480{
481   v0 = v1
482   if (p0) vmem(r0++#0)=v0.new
483}
484# CHECK-NEXT: 1e0361e0 { v0 = v1
485# CHECK-NEXT: 29a0c042   if (p0) vmem(r0++#0) = v0.new }
486
487//  V6_vS32b_new_pred_ppu
488//  if (Pv4) vmem(Rx32++Mu2)=Os8.new
489{
490   v0 = v1
491   if (p0) vmem(r0++m0)=v0.new
492}
493# CHECK-NEXT: 1e0361e0 { v0 = v1
494# CHECK-NEXT: 2ba0c042   if (p0) vmem(r0++m0) = v0.new }
495
496//  V6_vS32b_npred_ai
497//  if (!Pv4) vmem(Rt32+#s4)=Vs32
498    if (!p0) vmem(r0+#0)=v0
499# CHECK-NEXT: 28a0c020 { if (!p0) vmem(r0+#0) = v0 }
500
501//  V6_vS32b_npred_pi
502//  if (!Pv4) vmem(Rx32++#s3)=Vs32
503    if (!p0) vmem(r0++#0)=v0
504# CHECK-NEXT: 29a0c020 { if (!p0) vmem(r0++#0) = v0 }
505
506//  V6_vS32b_npred_ppu
507//  if (!Pv4) vmem(Rx32++Mu2)=Vs32
508    if (!p0) vmem(r0++m0)=v0
509# CHECK-NEXT: 2ba0c020 { if (!p0) vmem(r0++m0) = v0 }
510
511//  V6_vS32b_nqpred_ai
512//  if (!Qv4) vmem(Rt32+#s4)=Vs32
513    if (!q0) vmem(r0+#0)=v0
514# CHECK-NEXT: 2880c020 { if (!q0) vmem(r0+#0) = v0 }
515
516//  V6_vS32b_nqpred_pi
517//  if (!Qv4) vmem(Rx32++#s3)=Vs32
518    if (!q0) vmem(r0++#0)=v0
519# CHECK-NEXT: 2980c020 { if (!q0) vmem(r0++#0) = v0 }
520
521//  V6_vS32b_nqpred_ppu
522//  if (!Qv4) vmem(Rx32++Mu2)=Vs32
523    if (!q0) vmem(r0++m0)=v0
524# CHECK-NEXT: 2b80c020 { if (!q0) vmem(r0++m0) = v0 }
525
526//  V6_vS32b_nt_ai
527//  vmem(Rt32+#s4):nt=Vs32
528    vmem(r0+#0):nt=v0
529# CHECK-NEXT: 2860c000 { vmem(r0+#0):nt = v0 }
530
531//  V6_vS32b_nt_new_ai
532//  vmem(Rt32+#s4):nt=Os8.new
533{
534   v0 = v1
535   vmem(r0+#0):nt=v0.new
536}
537# CHECK-NEXT: 1e0361e0 { v0 = v1
538# CHECK-NEXT: 2860c022   vmem(r0+#0):nt = v0.new }
539
540//  V6_vS32b_nt_new_npred_ai
541//  if (!Pv4) vmem(Rt32+#s4):nt=Os8.new
542{
543   v0 = v1
544   if (!p0) vmem(r0+#0):nt=v0.new
545}
546# CHECK-NEXT: 1e0361e0 { v0 = v1
547# CHECK-NEXT: 28e0c07a   if (!p0) vmem(r0+#0):nt = v0.new }
548
549//  V6_vS32b_nt_new_npred_pi
550//  if (!Pv4) vmem(Rx32++#s3):nt=Os8.new
551{
552   v0 = v1
553   if (!p0) vmem(r0++#0):nt=v0.new
554}
555# CHECK-NEXT: 1e0361e0 { v0 = v1
556# CHECK-NEXT: 29e0c07a   if (!p0) vmem(r0++#0):nt = v0.new }
557
558//  V6_vS32b_nt_new_npred_ppu
559//  if (!Pv4) vmem(Rx32++Mu2):nt=Os8.new
560{
561   v0 = v1
562   if (!p0) vmem(r0++m0):nt=v0.new
563}
564# CHECK-NEXT: 1e0361e0 { v0 = v1
565# CHECK-NEXT: 2be0c07a   if (!p0) vmem(r0++m0):nt = v0.new }
566
567//  V6_vS32b_nt_new_pi
568//  vmem(Rx32++#s3):nt=Os8.new
569{
570   v0 = v1
571   vmem(r0++#0):nt=v0.new
572}
573# CHECK-NEXT: 1e0361e0 { v0 = v1
574# CHECK-NEXT: 2960c022   vmem(r0++#0):nt = v0.new }
575
576//  V6_vS32b_nt_new_ppu
577//  vmem(Rx32++Mu2):nt=Os8.new
578{
579   v0 = v1
580   vmem(r0++m0):nt=v0.new
581}
582# CHECK-NEXT: 1e0361e0 { v0 = v1
583# CHECK-NEXT: 2b60c022   vmem(r0++m0):nt = v0.new }
584
585//  V6_vS32b_nt_new_pred_ai
586//  if (Pv4) vmem(Rt32+#s4):nt=Os8.new
587{
588   v0 = v1
589   if (p0) vmem(r0+#0):nt=v0.new
590}
591# CHECK-NEXT: 1e0361e0 { v0 = v1
592# CHECK-NEXT: 28e0c052   if (p0) vmem(r0+#0):nt = v0.new }
593
594//  V6_vS32b_nt_new_pred_pi
595//  if (Pv4) vmem(Rx32++#s3):nt=Os8.new
596{
597   v0 = v1
598   if (p0) vmem(r0++#0):nt=v0.new
599}
600# CHECK-NEXT: 1e0361e0 { v0 = v1
601# CHECK-NEXT: 29e0c052   if (p0) vmem(r0++#0):nt = v0.new }
602
603//  V6_vS32b_nt_new_pred_ppu
604//  if (Pv4) vmem(Rx32++Mu2):nt=Os8.new
605{
606   v0 = v1
607   if (p0) vmem(r0++m0):nt=v0.new
608}
609# CHECK-NEXT: 1e0361e0 { v0 = v1
610# CHECK-NEXT: 2be0c052   if (p0) vmem(r0++m0):nt = v0.new }
611
612//  V6_vS32b_nt_npred_ai
613//  if (!Pv4) vmem(Rt32+#s4):nt=Vs32
614    if (!p0) vmem(r0+#0):nt=v0
615# CHECK-NEXT: 28e0c020 { if (!p0) vmem(r0+#0):nt = v0 }
616
617//  V6_vS32b_nt_npred_pi
618//  if (!Pv4) vmem(Rx32++#s3):nt=Vs32
619    if (!p0) vmem(r0++#0):nt=v0
620# CHECK-NEXT: 29e0c020 { if (!p0) vmem(r0++#0):nt = v0 }
621
622//  V6_vS32b_nt_npred_ppu
623//  if (!Pv4) vmem(Rx32++Mu2):nt=Vs32
624    if (!p0) vmem(r0++m0):nt=v0
625# CHECK-NEXT: 2be0c020 { if (!p0) vmem(r0++m0):nt = v0 }
626
627//  V6_vS32b_nt_nqpred_ai
628//  if (!Qv4) vmem(Rt32+#s4):nt=Vs32
629    if (!q0) vmem(r0+#0):nt=v0
630# CHECK-NEXT: 28c0c020 { if (!q0) vmem(r0+#0):nt = v0 }
631
632//  V6_vS32b_nt_nqpred_pi
633//  if (!Qv4) vmem(Rx32++#s3):nt=Vs32
634    if (!q0) vmem(r0++#0):nt=v0
635# CHECK-NEXT: 29c0c020 { if (!q0) vmem(r0++#0):nt = v0 }
636
637//  V6_vS32b_nt_nqpred_ppu
638//  if (!Qv4) vmem(Rx32++Mu2):nt=Vs32
639    if (!q0) vmem(r0++m0):nt=v0
640# CHECK-NEXT: 2bc0c020 { if (!q0) vmem(r0++m0):nt = v0 }
641
642//  V6_vS32b_nt_pi
643//  vmem(Rx32++#s3):nt=Vs32
644    vmem(r0++#0):nt=v0
645# CHECK-NEXT: 2960c000 { vmem(r0++#0):nt = v0 }
646
647//  V6_vS32b_nt_ppu
648//  vmem(Rx32++Mu2):nt=Vs32
649    vmem(r0++m0):nt=v0
650# CHECK-NEXT: 2b60c000 { vmem(r0++m0):nt = v0 }
651
652//  V6_vS32b_nt_pred_ai
653//  if (Pv4) vmem(Rt32+#s4):nt=Vs32
654    if (p0) vmem(r0+#0):nt=v0
655# CHECK-NEXT: 28e0c000 { if (p0) vmem(r0+#0):nt = v0 }
656
657//  V6_vS32b_nt_pred_pi
658//  if (Pv4) vmem(Rx32++#s3):nt=Vs32
659    if (p0) vmem(r0++#0):nt=v0
660# CHECK-NEXT: 29e0c000 { if (p0) vmem(r0++#0):nt = v0 }
661
662//  V6_vS32b_nt_pred_ppu
663//  if (Pv4) vmem(Rx32++Mu2):nt=Vs32
664    if (p0) vmem(r0++m0):nt=v0
665# CHECK-NEXT: 2be0c000 { if (p0) vmem(r0++m0):nt = v0 }
666
667//  V6_vS32b_nt_qpred_ai
668//  if (Qv4) vmem(Rt32+#s4):nt=Vs32
669    if (q0) vmem(r0+#0):nt=v0
670# CHECK-NEXT: 28c0c000 { if (q0) vmem(r0+#0):nt = v0 }
671
672//  V6_vS32b_nt_qpred_pi
673//  if (Qv4) vmem(Rx32++#s3):nt=Vs32
674    if (q0) vmem(r0++#0):nt=v0
675# CHECK-NEXT: 29c0c000 { if (q0) vmem(r0++#0):nt = v0 }
676
677//  V6_vS32b_nt_qpred_ppu
678//  if (Qv4) vmem(Rx32++Mu2):nt=Vs32
679    if (q0) vmem(r0++m0):nt=v0
680# CHECK-NEXT: 2bc0c000 { if (q0) vmem(r0++m0):nt = v0 }
681
682//  V6_vS32b_pi
683//  vmem(Rx32++#s3)=Vs32
684    vmem(r0++#0)=v0
685# CHECK-NEXT: 2920c000 { vmem(r0++#0) = v0 }
686
687//  V6_vS32b_ppu
688//  vmem(Rx32++Mu2)=Vs32
689    vmem(r0++m0)=v0
690# CHECK-NEXT: 2b20c000 { vmem(r0++m0) = v0 }
691
692//  V6_vS32b_pred_ai
693//  if (Pv4) vmem(Rt32+#s4)=Vs32
694    if (p0) vmem(r0+#0)=v0
695# CHECK-NEXT: 28a0c000 { if (p0) vmem(r0+#0) = v0 }
696
697//  V6_vS32b_pred_pi
698//  if (Pv4) vmem(Rx32++#s3)=Vs32
699    if (p0) vmem(r0++#0)=v0
700# CHECK-NEXT: 29a0c000 { if (p0) vmem(r0++#0) = v0 }
701
702//  V6_vS32b_pred_ppu
703//  if (Pv4) vmem(Rx32++Mu2)=Vs32
704    if (p0) vmem(r0++m0)=v0
705# CHECK-NEXT: 2ba0c000 { if (p0) vmem(r0++m0) = v0 }
706
707//  V6_vS32b_qpred_ai
708//  if (Qv4) vmem(Rt32+#s4)=Vs32
709    if (q0) vmem(r0+#0)=v0
710# CHECK-NEXT: 2880c000 { if (q0) vmem(r0+#0) = v0 }
711
712//  V6_vS32b_qpred_pi
713//  if (Qv4) vmem(Rx32++#s3)=Vs32
714    if (q0) vmem(r0++#0)=v0
715# CHECK-NEXT: 2980c000 { if (q0) vmem(r0++#0) = v0 }
716
717//  V6_vS32b_qpred_ppu
718//  if (Qv4) vmem(Rx32++Mu2)=Vs32
719    if (q0) vmem(r0++m0)=v0
720# CHECK-NEXT: 2b80c000 { if (q0) vmem(r0++m0) = v0 }
721
722//  V6_vS32b_srls_ai
723//  vmem(Rt32+#s4):scatter_release
724    vmem(r0+#0):scatter_release
725# CHECK-NEXT: 2820c028 { vmem(r0+#0):scatter_release }
726
727//  V6_vS32b_srls_pi
728//  vmem(Rx32++#s3):scatter_release
729    vmem(r0++#0):scatter_release
730# CHECK-NEXT: 2920c028 { vmem(r0++#0):scatter_release }
731
732//  V6_vS32b_srls_ppu
733//  vmem(Rx32++Mu2):scatter_release
734    vmem(r0++m0):scatter_release
735# CHECK-NEXT: 2b20c028 { vmem(r0++m0):scatter_release }
736
737//  V6_vabsb
738//  Vd32.b=vabs(Vu32.b)
739    v0.b=vabs(v0.b)
740# CHECK-NEXT: 1e01c080 { v0.b = vabs(v0.b) }
741
742//  V6_vabsb_sat
743//  Vd32.b=vabs(Vu32.b):sat
744    v0.b=vabs(v0.b):sat
745# CHECK-NEXT: 1e01c0a0 { v0.b = vabs(v0.b):sat }
746
747//  V6_vabsdiffh
748//  Vd32.uh=vabsdiff(Vu32.h,Vv32.h)
749    v0.uh=vabsdiff(v0.h,v0.h)
750# CHECK-NEXT: 1cc0c020 { v0.uh = vabsdiff(v0.h,v0.h) }
751
752//  V6_vabsdiffub
753//  Vd32.ub=vabsdiff(Vu32.ub,Vv32.ub)
754    v0.ub=vabsdiff(v0.ub,v0.ub)
755# CHECK-NEXT: 1cc0c000 { v0.ub = vabsdiff(v0.ub,v0.ub) }
756
757//  V6_vabsdiffuh
758//  Vd32.uh=vabsdiff(Vu32.uh,Vv32.uh)
759    v0.uh=vabsdiff(v0.uh,v0.uh)
760# CHECK-NEXT: 1cc0c040 { v0.uh = vabsdiff(v0.uh,v0.uh) }
761
762//  V6_vabsdiffw
763//  Vd32.uw=vabsdiff(Vu32.w,Vv32.w)
764    v0.uw=vabsdiff(v0.w,v0.w)
765# CHECK-NEXT: 1cc0c060 { v0.uw = vabsdiff(v0.w,v0.w) }
766
767//  V6_vabsh
768//  Vd32.h=vabs(Vu32.h)
769    v0.h=vabs(v0.h)
770# CHECK-NEXT: 1e00c000 { v0.h = vabs(v0.h) }
771
772//  V6_vabsh_sat
773//  Vd32.h=vabs(Vu32.h):sat
774    v0.h=vabs(v0.h):sat
775# CHECK-NEXT: 1e00c020 { v0.h = vabs(v0.h):sat }
776
777//  V6_vabsw
778//  Vd32.w=vabs(Vu32.w)
779    v0.w=vabs(v0.w)
780# CHECK-NEXT: 1e00c040 { v0.w = vabs(v0.w) }
781
782//  V6_vabsw_sat
783//  Vd32.w=vabs(Vu32.w):sat
784    v0.w=vabs(v0.w):sat
785# CHECK-NEXT: 1e00c060 { v0.w = vabs(v0.w):sat }
786
787//  V6_vaddb
788//  Vd32.b=vadd(Vu32.b,Vv32.b)
789    v0.b=vadd(v0.b,v0.b)
790# CHECK-NEXT: 1fa0c0c0 { v0.b = vadd(v0.b,v0.b) }
791
792//  V6_vaddb_dv
793//  Vdd32.b=vadd(Vuu32.b,Vvv32.b)
794    v1:0.b=vadd(v1:0.b,v1:0.b)
795# CHECK-NEXT: 1c60c080 { v1:0.b = vadd(v1:0.b,v1:0.b) }
796
797//  V6_vaddbnq
798//  if (!Qv4) Vx32.b+=Vu32.b
799    if (!q0) v0.b+=v0.b
800# CHECK-NEXT: 1e01e060 { if (!q0) v0.b += v0.b }
801
802//  V6_vaddbq
803//  if (Qv4) Vx32.b+=Vu32.b
804    if (q0) v0.b+=v0.b
805# CHECK-NEXT: 1e01e000 { if (q0) v0.b += v0.b }
806
807//  V6_vaddbsat
808//  Vd32.b=vadd(Vu32.b,Vv32.b):sat
809    v0.b=vadd(v0.b,v0.b):sat
810# CHECK-NEXT: 1f00c000 { v0.b = vadd(v0.b,v0.b):sat }
811
812//  V6_vaddbsat_dv
813//  Vdd32.b=vadd(Vuu32.b,Vvv32.b):sat
814    v1:0.b=vadd(v1:0.b,v1:0.b):sat
815# CHECK-NEXT: 1ea0c000 { v1:0.b = vadd(v1:0.b,v1:0.b):sat }
816
817//  V6_vaddcarry
818//  Vd32.w=vadd(Vu32.w,Vv32.w,Qx4):carry
819    v0.w=vadd(v0.w,v0.w,q0):carry
820# CHECK-NEXT: 1ca0e000 { v0.w = vadd(v0.w,v0.w,q0):carry }
821
822//  V6_vaddcarryo
823//  Vd32.w,Qe4=vadd(Vu32.w,Vv32.w):carry
824    v0.w,q0=vadd(v0.w,v0.w):carry
825# CHECK-NEXT: 1da0e000 { v0.w,q0 = vadd(v0.w,v0.w):carry }
826
827//  V6_vaddcarrysat
828//  Vd32.w=vadd(Vu32.w,Vv32.w,Qs4):carry:sat
829    v0.w=vadd(v0.w,v0.w,q0):carry:sat
830# CHECK-NEXT: 1d80e000 { v0.w = vadd(v0.w,v0.w,q0):carry:sat }
831
832//  V6_vaddclbh
833//  Vd32.h=vadd(vclb(Vu32.h),Vv32.h)
834    v0.h=vadd(vclb(v0.h),v0.h)
835# CHECK-NEXT: 1f00e000 { v0.h = vadd(vclb(v0.h),v0.h) }
836
837//  V6_vaddclbw
838//  Vd32.w=vadd(vclb(Vu32.w),Vv32.w)
839    v0.w=vadd(vclb(v0.w),v0.w)
840# CHECK-NEXT: 1f00e020 { v0.w = vadd(vclb(v0.w),v0.w) }
841
842//  V6_vaddh
843//  Vd32.h=vadd(Vu32.h,Vv32.h)
844    v0.h=vadd(v0.h,v0.h)
845# CHECK-NEXT: 1fa0c0e0 { v0.h = vadd(v0.h,v0.h) }
846
847//  V6_vaddh_dv
848//  Vdd32.h=vadd(Vuu32.h,Vvv32.h)
849    v1:0.h=vadd(v1:0.h,v1:0.h)
850# CHECK-NEXT: 1c60c0a0 { v1:0.h = vadd(v1:0.h,v1:0.h) }
851
852//  V6_vaddhnq
853//  if (!Qv4) Vx32.h+=Vu32.h
854    if (!q0) v0.h+=v0.h
855# CHECK-NEXT: 1e01e080 { if (!q0) v0.h += v0.h }
856
857//  V6_vaddhq
858//  if (Qv4) Vx32.h+=Vu32.h
859    if (q0) v0.h+=v0.h
860# CHECK-NEXT: 1e01e020 { if (q0) v0.h += v0.h }
861
862//  V6_vaddhsat
863//  Vd32.h=vadd(Vu32.h,Vv32.h):sat
864    v0.h=vadd(v0.h,v0.h):sat
865# CHECK-NEXT: 1c40c060 { v0.h = vadd(v0.h,v0.h):sat }
866
867//  V6_vaddhsat_dv
868//  Vdd32.h=vadd(Vuu32.h,Vvv32.h):sat
869    v1:0.h=vadd(v1:0.h,v1:0.h):sat
870# CHECK-NEXT: 1c80c020 { v1:0.h = vadd(v1:0.h,v1:0.h):sat }
871
872//  V6_vaddhw
873//  Vdd32.w=vadd(Vu32.h,Vv32.h)
874    v1:0.w=vadd(v0.h,v0.h)
875# CHECK-NEXT: 1ca0c080 { v1:0.w = vadd(v0.h,v0.h) }
876
877//  V6_vaddhw_acc
878//  Vxx32.w+=vadd(Vu32.h,Vv32.h)
879    v1:0.w+=vadd(v0.h,v0.h)
880# CHECK-NEXT: 1c20e040 { v1:0.w += vadd(v0.h,v0.h) }
881
882//  V6_vaddubh
883//  Vdd32.h=vadd(Vu32.ub,Vv32.ub)
884    v1:0.h=vadd(v0.ub,v0.ub)
885# CHECK-NEXT: 1ca0c040 { v1:0.h = vadd(v0.ub,v0.ub) }
886
887//  V6_vaddubh_acc
888//  Vxx32.h+=vadd(Vu32.ub,Vv32.ub)
889    v1:0.h+=vadd(v0.ub,v0.ub)
890# CHECK-NEXT: 1c40e0a0 { v1:0.h += vadd(v0.ub,v0.ub) }
891
892//  V6_vaddubsat
893//  Vd32.ub=vadd(Vu32.ub,Vv32.ub):sat
894    v0.ub=vadd(v0.ub,v0.ub):sat
895# CHECK-NEXT: 1c40c020 { v0.ub = vadd(v0.ub,v0.ub):sat }
896
897//  V6_vaddubsat_dv
898//  Vdd32.ub=vadd(Vuu32.ub,Vvv32.ub):sat
899    v1:0.ub=vadd(v1:0.ub,v1:0.ub):sat
900# CHECK-NEXT: 1c60c0e0 { v1:0.ub = vadd(v1:0.ub,v1:0.ub):sat }
901
902//  V6_vaddububb_sat
903//  Vd32.ub=vadd(Vu32.ub,Vv32.b):sat
904    v0.ub=vadd(v0.ub,v0.b):sat
905# CHECK-NEXT: 1ea0c080 { v0.ub = vadd(v0.ub,v0.b):sat }
906
907//  V6_vadduhsat
908//  Vd32.uh=vadd(Vu32.uh,Vv32.uh):sat
909    v0.uh=vadd(v0.uh,v0.uh):sat
910# CHECK-NEXT: 1c40c040 { v0.uh = vadd(v0.uh,v0.uh):sat }
911
912//  V6_vadduhsat_dv
913//  Vdd32.uh=vadd(Vuu32.uh,Vvv32.uh):sat
914    v1:0.uh=vadd(v1:0.uh,v1:0.uh):sat
915# CHECK-NEXT: 1c80c000 { v1:0.uh = vadd(v1:0.uh,v1:0.uh):sat }
916
917//  V6_vadduhw
918//  Vdd32.w=vadd(Vu32.uh,Vv32.uh)
919    v1:0.w=vadd(v0.uh,v0.uh)
920# CHECK-NEXT: 1ca0c060 { v1:0.w = vadd(v0.uh,v0.uh) }
921
922//  V6_vadduhw_acc
923//  Vxx32.w+=vadd(Vu32.uh,Vv32.uh)
924    v1:0.w+=vadd(v0.uh,v0.uh)
925# CHECK-NEXT: 1c40e080 { v1:0.w += vadd(v0.uh,v0.uh) }
926
927//  V6_vadduwsat
928//  Vd32.uw=vadd(Vu32.uw,Vv32.uw):sat
929    v0.uw=vadd(v0.uw,v0.uw):sat
930# CHECK-NEXT: 1f60c020 { v0.uw = vadd(v0.uw,v0.uw):sat }
931
932//  V6_vadduwsat_dv
933//  Vdd32.uw=vadd(Vuu32.uw,Vvv32.uw):sat
934    v1:0.uw=vadd(v1:0.uw,v1:0.uw):sat
935# CHECK-NEXT: 1ea0c040 { v1:0.uw = vadd(v1:0.uw,v1:0.uw):sat }
936
937//  V6_vaddw
938//  Vd32.w=vadd(Vu32.w,Vv32.w)
939    v0.w=vadd(v0.w,v0.w)
940# CHECK-NEXT: 1c40c000 { v0.w = vadd(v0.w,v0.w) }
941
942//  V6_vaddw_dv
943//  Vdd32.w=vadd(Vuu32.w,Vvv32.w)
944    v1:0.w=vadd(v1:0.w,v1:0.w)
945# CHECK-NEXT: 1c60c0c0 { v1:0.w = vadd(v1:0.w,v1:0.w) }
946
947//  V6_vaddwnq
948//  if (!Qv4) Vx32.w+=Vu32.w
949    if (!q0) v0.w+=v0.w
950# CHECK-NEXT: 1e01e0a0 { if (!q0) v0.w += v0.w }
951
952//  V6_vaddwq
953//  if (Qv4) Vx32.w+=Vu32.w
954    if (q0) v0.w+=v0.w
955# CHECK-NEXT: 1e01e040 { if (q0) v0.w += v0.w }
956
957//  V6_vaddwsat
958//  Vd32.w=vadd(Vu32.w,Vv32.w):sat
959    v0.w=vadd(v0.w,v0.w):sat
960# CHECK-NEXT: 1c40c080 { v0.w = vadd(v0.w,v0.w):sat }
961
962//  V6_vaddwsat_dv
963//  Vdd32.w=vadd(Vuu32.w,Vvv32.w):sat
964    v1:0.w=vadd(v1:0.w,v1:0.w):sat
965# CHECK-NEXT: 1c80c040 { v1:0.w = vadd(v1:0.w,v1:0.w):sat }
966
967//  V6_valignb
968//  Vd32=valign(Vu32,Vv32,Rt8)
969    v0=valign(v0,v0,r0)
970# CHECK-NEXT: 1b00c000 { v0 = valign(v0,v0,r0) }
971
972//  V6_valignbi
973//  Vd32=valign(Vu32,Vv32,#u3)
974    v0=valign(v0,v0,#0)
975# CHECK-NEXT: 1e20e000 { v0 = valign(v0,v0,#0) }
976
977//  V6_vand
978//  Vd32=vand(Vu32,Vv32)
979    v0=vand(v0,v0)
980# CHECK-NEXT: 1c20c0a0 { v0 = vand(v0,v0) }
981
982//  V6_vandnqrt
983//  Vd32=vand(!Qu4,Rt32)
984    v0=vand(!q0,r0)
985# CHECK-NEXT: 19a0c4a0 { v0 = vand(!q0,r0) }
986
987//  V6_vandnqrt_acc
988//  Vx32|=vand(!Qu4,Rt32)
989    v0|=vand(!q0,r0)
990# CHECK-NEXT: 1960e460 { v0 |= vand(!q0,r0) }
991
992//  V6_vandqrt
993//  Vd32=vand(Qu4,Rt32)
994    v0=vand(q0,r0)
995# CHECK-NEXT: 19a0c0a0 { v0 = vand(q0,r0) }
996
997//  V6_vandqrt_acc
998//  Vx32|=vand(Qu4,Rt32)
999    v0|=vand(q0,r0)
1000# CHECK-NEXT: 1960e060 { v0 |= vand(q0,r0) }
1001
1002//  V6_vandvnqv
1003//  Vd32=vand(!Qv4,Vu32)
1004    v0=vand(!q0,v0)
1005# CHECK-NEXT: 1e03e020 { v0 = vand(!q0,v0) }
1006
1007//  V6_vandvqv
1008//  Vd32=vand(Qv4,Vu32)
1009    v0=vand(q0,v0)
1010# CHECK-NEXT: 1e03e000 { v0 = vand(q0,v0) }
1011
1012//  V6_vandvrt
1013//  Qd4=vand(Vu32,Rt32)
1014    q0=vand(v0,r0)
1015# CHECK-NEXT: 19a0c048 { q0 = vand(v0,r0) }
1016
1017//  V6_vandvrt_acc
1018//  Qx4|=vand(Vu32,Rt32)
1019    q0|=vand(v0,r0)
1020# CHECK-NEXT: 1960e080 { q0 |= vand(v0,r0) }
1021
1022//  V6_vaslh
1023//  Vd32.h=vasl(Vu32.h,Rt32)
1024    v0.h=vasl(v0.h,r0)
1025# CHECK-NEXT: 1980c000 { v0.h = vasl(v0.h,r0) }
1026
1027//  V6_vaslh_acc
1028//  Vx32.h+=vasl(Vu32.h,Rt32)
1029    v0.h+=vasl(v0.h,r0)
1030# CHECK-NEXT: 19a0e0a0 { v0.h += vasl(v0.h,r0) }
1031
1032//  V6_vaslhv
1033//  Vd32.h=vasl(Vu32.h,Vv32.h)
1034    v0.h=vasl(v0.h,v0.h)
1035# CHECK-NEXT: 1fa0c0a0 { v0.h = vasl(v0.h,v0.h) }
1036
1037//  V6_vaslw
1038//  Vd32.w=vasl(Vu32.w,Rt32)
1039    v0.w=vasl(v0.w,r0)
1040# CHECK-NEXT: 1960c0e0 { v0.w = vasl(v0.w,r0) }
1041
1042//  V6_vaslw_acc
1043//  Vx32.w+=vasl(Vu32.w,Rt32)
1044    v0.w+=vasl(v0.w,r0)
1045# CHECK-NEXT: 1960e040 { v0.w += vasl(v0.w,r0) }
1046
1047//  V6_vaslwv
1048//  Vd32.w=vasl(Vu32.w,Vv32.w)
1049    v0.w=vasl(v0.w,v0.w)
1050# CHECK-NEXT: 1fa0c080 { v0.w = vasl(v0.w,v0.w) }
1051
1052//  V6_vasr_into
1053//  Vxx32.w=vasrinto(Vu32.w,Vv32.w)
1054    v1:0.w=vasrinto(v0.w,v0.w)
1055# CHECK-NEXT: 1aa0e0e0 { v1:0.w = vasrinto(v0.w,v0.w) }
1056
1057//  V6_vasrh
1058//  Vd32.h=vasr(Vu32.h,Rt32)
1059    v0.h=vasr(v0.h,r0)
1060# CHECK-NEXT: 1960c0c0 { v0.h = vasr(v0.h,r0) }
1061
1062//  V6_vasrh_acc
1063//  Vx32.h+=vasr(Vu32.h,Rt32)
1064    v0.h+=vasr(v0.h,r0)
1065# CHECK-NEXT: 1980e0e0 { v0.h += vasr(v0.h,r0) }
1066
1067//  V6_vasrhbrndsat
1068//  Vd32.b=vasr(Vu32.h,Vv32.h,Rt8):rnd:sat
1069    v0.b=vasr(v0.h,v0.h,r0):rnd:sat
1070# CHECK-NEXT: 1b00e000 { v0.b = vasr(v0.h,v0.h,r0):rnd:sat }
1071
1072//  V6_vasrhbsat
1073//  Vd32.b=vasr(Vu32.h,Vv32.h,Rt8):sat
1074    v0.b=vasr(v0.h,v0.h,r0):sat
1075# CHECK-NEXT: 1800c000 { v0.b = vasr(v0.h,v0.h,r0):sat }
1076
1077//  V6_vasrhubrndsat
1078//  Vd32.ub=vasr(Vu32.h,Vv32.h,Rt8):rnd:sat
1079    v0.ub=vasr(v0.h,v0.h,r0):rnd:sat
1080# CHECK-NEXT: 1b00c0e0 { v0.ub = vasr(v0.h,v0.h,r0):rnd:sat }
1081
1082//  V6_vasrhubsat
1083//  Vd32.ub=vasr(Vu32.h,Vv32.h,Rt8):sat
1084    v0.ub=vasr(v0.h,v0.h,r0):sat
1085# CHECK-NEXT: 1b00c0c0 { v0.ub = vasr(v0.h,v0.h,r0):sat }
1086
1087//  V6_vasrhv
1088//  Vd32.h=vasr(Vu32.h,Vv32.h)
1089    v0.h=vasr(v0.h,v0.h)
1090# CHECK-NEXT: 1fa0c060 { v0.h = vasr(v0.h,v0.h) }
1091
1092//  V6_vasruhubrndsat
1093//  Vd32.ub=vasr(Vu32.uh,Vv32.uh,Rt8):rnd:sat
1094    v0.ub=vasr(v0.uh,v0.uh,r0):rnd:sat
1095# CHECK-NEXT: 1800c0e0 { v0.ub = vasr(v0.uh,v0.uh,r0):rnd:sat }
1096
1097//  V6_vasruhubsat
1098//  Vd32.ub=vasr(Vu32.uh,Vv32.uh,Rt8):sat
1099    v0.ub=vasr(v0.uh,v0.uh,r0):sat
1100# CHECK-NEXT: 1800e0a0 { v0.ub = vasr(v0.uh,v0.uh,r0):sat }
1101
1102//  V6_vasruwuhrndsat
1103//  Vd32.uh=vasr(Vu32.uw,Vv32.uw,Rt8):rnd:sat
1104    v0.uh=vasr(v0.uw,v0.uw,r0):rnd:sat
1105# CHECK-NEXT: 1800c020 { v0.uh = vasr(v0.uw,v0.uw,r0):rnd:sat }
1106
1107//  V6_vasruwuhsat
1108//  Vd32.uh=vasr(Vu32.uw,Vv32.uw,Rt8):sat
1109    v0.uh=vasr(v0.uw,v0.uw,r0):sat
1110# CHECK-NEXT: 1800e080 { v0.uh = vasr(v0.uw,v0.uw,r0):sat }
1111
1112//  V6_vasrw
1113//  Vd32.w=vasr(Vu32.w,Rt32)
1114    v0.w=vasr(v0.w,r0)
1115# CHECK-NEXT: 1960c0a0 { v0.w = vasr(v0.w,r0) }
1116
1117//  V6_vasrw_acc
1118//  Vx32.w+=vasr(Vu32.w,Rt32)
1119    v0.w+=vasr(v0.w,r0)
1120# CHECK-NEXT: 1960e0a0 { v0.w += vasr(v0.w,r0) }
1121
1122//  V6_vasrwh
1123//  Vd32.h=vasr(Vu32.w,Vv32.w,Rt8)
1124    v0.h=vasr(v0.w,v0.w,r0)
1125# CHECK-NEXT: 1b00c040 { v0.h = vasr(v0.w,v0.w,r0) }
1126
1127//  V6_vasrwhrndsat
1128//  Vd32.h=vasr(Vu32.w,Vv32.w,Rt8):rnd:sat
1129    v0.h=vasr(v0.w,v0.w,r0):rnd:sat
1130# CHECK-NEXT: 1b00c080 { v0.h = vasr(v0.w,v0.w,r0):rnd:sat }
1131
1132//  V6_vasrwhsat
1133//  Vd32.h=vasr(Vu32.w,Vv32.w,Rt8):sat
1134    v0.h=vasr(v0.w,v0.w,r0):sat
1135# CHECK-NEXT: 1b00c060 { v0.h = vasr(v0.w,v0.w,r0):sat }
1136
1137//  V6_vasrwuhrndsat
1138//  Vd32.uh=vasr(Vu32.w,Vv32.w,Rt8):rnd:sat
1139    v0.uh=vasr(v0.w,v0.w,r0):rnd:sat
1140# CHECK-NEXT: 1800c040 { v0.uh = vasr(v0.w,v0.w,r0):rnd:sat }
1141
1142//  V6_vasrwuhsat
1143//  Vd32.uh=vasr(Vu32.w,Vv32.w,Rt8):sat
1144    v0.uh=vasr(v0.w,v0.w,r0):sat
1145# CHECK-NEXT: 1b00c0a0 { v0.uh = vasr(v0.w,v0.w,r0):sat }
1146
1147//  V6_vasrwv
1148//  Vd32.w=vasr(Vu32.w,Vv32.w)
1149    v0.w=vasr(v0.w,v0.w)
1150# CHECK-NEXT: 1fa0c000 { v0.w = vasr(v0.w,v0.w) }
1151
1152//  V6_vassign
1153//  Vd32=Vu32
1154    v0=v0
1155# CHECK-NEXT: 1e03e0e0 { v0 = v0 }
1156
1157//  V6_vavgb
1158//  Vd32.b=vavg(Vu32.b,Vv32.b)
1159    v0.b=vavg(v0.b,v0.b)
1160# CHECK-NEXT: 1f00e080 { v0.b = vavg(v0.b,v0.b) }
1161
1162//  V6_vavgbrnd
1163//  Vd32.b=vavg(Vu32.b,Vv32.b):rnd
1164    v0.b=vavg(v0.b,v0.b):rnd
1165# CHECK-NEXT: 1f00e0a0 { v0.b = vavg(v0.b,v0.b):rnd }
1166
1167//  V6_vavgh
1168//  Vd32.h=vavg(Vu32.h,Vv32.h)
1169    v0.h=vavg(v0.h,v0.h)
1170# CHECK-NEXT: 1cc0c0c0 { v0.h = vavg(v0.h,v0.h) }
1171
1172//  V6_vavghrnd
1173//  Vd32.h=vavg(Vu32.h,Vv32.h):rnd
1174    v0.h=vavg(v0.h,v0.h):rnd
1175# CHECK-NEXT: 1ce0c0a0 { v0.h = vavg(v0.h,v0.h):rnd }
1176
1177//  V6_vavgub
1178//  Vd32.ub=vavg(Vu32.ub,Vv32.ub)
1179    v0.ub=vavg(v0.ub,v0.ub)
1180# CHECK-NEXT: 1cc0c080 { v0.ub = vavg(v0.ub,v0.ub) }
1181
1182//  V6_vavgubrnd
1183//  Vd32.ub=vavg(Vu32.ub,Vv32.ub):rnd
1184    v0.ub=vavg(v0.ub,v0.ub):rnd
1185# CHECK-NEXT: 1ce0c060 { v0.ub = vavg(v0.ub,v0.ub):rnd }
1186
1187//  V6_vavguh
1188//  Vd32.uh=vavg(Vu32.uh,Vv32.uh)
1189    v0.uh=vavg(v0.uh,v0.uh)
1190# CHECK-NEXT: 1cc0c0a0 { v0.uh = vavg(v0.uh,v0.uh) }
1191
1192//  V6_vavguhrnd
1193//  Vd32.uh=vavg(Vu32.uh,Vv32.uh):rnd
1194    v0.uh=vavg(v0.uh,v0.uh):rnd
1195# CHECK-NEXT: 1ce0c080 { v0.uh = vavg(v0.uh,v0.uh):rnd }
1196
1197//  V6_vavguw
1198//  Vd32.uw=vavg(Vu32.uw,Vv32.uw)
1199    v0.uw=vavg(v0.uw,v0.uw)
1200# CHECK-NEXT: 1f00e040 { v0.uw = vavg(v0.uw,v0.uw) }
1201
1202//  V6_vavguwrnd
1203//  Vd32.uw=vavg(Vu32.uw,Vv32.uw):rnd
1204    v0.uw=vavg(v0.uw,v0.uw):rnd
1205# CHECK-NEXT: 1f00e060 { v0.uw = vavg(v0.uw,v0.uw):rnd }
1206
1207//  V6_vavgw
1208//  Vd32.w=vavg(Vu32.w,Vv32.w)
1209    v0.w=vavg(v0.w,v0.w)
1210# CHECK-NEXT: 1cc0c0e0 { v0.w = vavg(v0.w,v0.w) }
1211
1212//  V6_vavgwrnd
1213//  Vd32.w=vavg(Vu32.w,Vv32.w):rnd
1214    v0.w=vavg(v0.w,v0.w):rnd
1215# CHECK-NEXT: 1ce0c0c0 { v0.w = vavg(v0.w,v0.w):rnd }
1216
1217//  V6_vccombine
1218//  if (Ps4) Vdd32=vcombine(Vu32,Vv32)
1219    if (p0) v1:0=vcombine(v0,v0)
1220# CHECK-NEXT: 1a60c000 { if (p0) v1:0 = vcombine(v0,v0) }
1221
1222//  V6_vcl0h
1223//  Vd32.uh=vcl0(Vu32.uh)
1224    v0.uh=vcl0(v0.uh)
1225# CHECK-NEXT: 1e02c0e0 { v0.uh = vcl0(v0.uh) }
1226
1227//  V6_vcl0w
1228//  Vd32.uw=vcl0(Vu32.uw)
1229    v0.uw=vcl0(v0.uw)
1230# CHECK-NEXT: 1e02c0a0 { v0.uw = vcl0(v0.uw) }
1231
1232//  V6_vcmov
1233//  if (Ps4) Vd32=Vu32
1234    if (p0) v0=v0
1235# CHECK-NEXT: 1a00c000 { if (p0) v0 = v0 }
1236
1237//  V6_vcombine
1238//  Vdd32=vcombine(Vu32,Vv32)
1239    v1:0=vcombine(v0,v0)
1240# CHECK-NEXT: 1f40c0e0 { v1:0 = vcombine(v0,v0) }
1241
1242//  V6_vdeal
1243//  vdeal(Vy32,Vx32,Rt32)
1244    vdeal(v0,v0,r0)
1245# CHECK-NEXT: 19e0e040 { vdeal(v0,v0,r0) }
1246
1247//  V6_vdealb
1248//  Vd32.b=vdeal(Vu32.b)
1249    v0.b=vdeal(v0.b)
1250# CHECK-NEXT: 1e00c0e0 { v0.b = vdeal(v0.b) }
1251
1252//  V6_vdealb4w
1253//  Vd32.b=vdeale(Vu32.b,Vv32.b)
1254    v0.b=vdeale(v0.b,v0.b)
1255# CHECK-NEXT: 1f20c0e0 { v0.b = vdeale(v0.b,v0.b) }
1256
1257//  V6_vdealh
1258//  Vd32.h=vdeal(Vu32.h)
1259    v0.h=vdeal(v0.h)
1260# CHECK-NEXT: 1e00c0c0 { v0.h = vdeal(v0.h) }
1261
1262//  V6_vdealvdd
1263//  Vdd32=vdeal(Vu32,Vv32,Rt8)
1264    v1:0=vdeal(v0,v0,r0)
1265# CHECK-NEXT: 1b00e080 { v1:0 = vdeal(v0,v0,r0) }
1266
1267//  V6_vdelta
1268//  Vd32=vdelta(Vu32,Vv32)
1269    v0=vdelta(v0,v0)
1270# CHECK-NEXT: 1f20c020 { v0 = vdelta(v0,v0) }
1271
1272//  V6_vdmpybus
1273//  Vd32.h=vdmpy(Vu32.ub,Rt32.b)
1274    v0.h=vdmpy(v0.ub,r0.b)
1275# CHECK-NEXT: 1900c0c0 { v0.h = vdmpy(v0.ub,r0.b) }
1276
1277//  V6_vdmpybus_acc
1278//  Vx32.h+=vdmpy(Vu32.ub,Rt32.b)
1279    v0.h+=vdmpy(v0.ub,r0.b)
1280# CHECK-NEXT: 1900e0c0 { v0.h += vdmpy(v0.ub,r0.b) }
1281
1282//  V6_vdmpybus_dv
1283//  Vdd32.h=vdmpy(Vuu32.ub,Rt32.b)
1284    v1:0.h=vdmpy(v1:0.ub,r0.b)
1285# CHECK-NEXT: 1900c0e0 { v1:0.h = vdmpy(v1:0.ub,r0.b) }
1286
1287//  V6_vdmpybus_dv_acc
1288//  Vxx32.h+=vdmpy(Vuu32.ub,Rt32.b)
1289    v1:0.h+=vdmpy(v1:0.ub,r0.b)
1290# CHECK-NEXT: 1900e0e0 { v1:0.h += vdmpy(v1:0.ub,r0.b) }
1291
1292//  V6_vdmpyhb
1293//  Vd32.w=vdmpy(Vu32.h,Rt32.b)
1294    v0.w=vdmpy(v0.h,r0.b)
1295# CHECK-NEXT: 1900c040 { v0.w = vdmpy(v0.h,r0.b) }
1296
1297//  V6_vdmpyhb_acc
1298//  Vx32.w+=vdmpy(Vu32.h,Rt32.b)
1299    v0.w+=vdmpy(v0.h,r0.b)
1300# CHECK-NEXT: 1900e060 { v0.w += vdmpy(v0.h,r0.b) }
1301
1302//  V6_vdmpyhb_dv
1303//  Vdd32.w=vdmpy(Vuu32.h,Rt32.b)
1304    v1:0.w=vdmpy(v1:0.h,r0.b)
1305# CHECK-NEXT: 1920c080 { v1:0.w = vdmpy(v1:0.h,r0.b) }
1306
1307//  V6_vdmpyhb_dv_acc
1308//  Vxx32.w+=vdmpy(Vuu32.h,Rt32.b)
1309    v1:0.w+=vdmpy(v1:0.h,r0.b)
1310# CHECK-NEXT: 1920e080 { v1:0.w += vdmpy(v1:0.h,r0.b) }
1311
1312//  V6_vdmpyhisat
1313//  Vd32.w=vdmpy(Vuu32.h,Rt32.h):sat
1314    v0.w=vdmpy(v1:0.h,r0.h):sat
1315# CHECK-NEXT: 1920c060 { v0.w = vdmpy(v1:0.h,r0.h):sat }
1316
1317//  V6_vdmpyhisat_acc
1318//  Vx32.w+=vdmpy(Vuu32.h,Rt32.h):sat
1319    v0.w+=vdmpy(v1:0.h,r0.h):sat
1320# CHECK-NEXT: 1920e040 { v0.w += vdmpy(v1:0.h,r0.h):sat }
1321
1322//  V6_vdmpyhsat
1323//  Vd32.w=vdmpy(Vu32.h,Rt32.h):sat
1324    v0.w=vdmpy(v0.h,r0.h):sat
1325# CHECK-NEXT: 1920c040 { v0.w = vdmpy(v0.h,r0.h):sat }
1326
1327//  V6_vdmpyhsat_acc
1328//  Vx32.w+=vdmpy(Vu32.h,Rt32.h):sat
1329    v0.w+=vdmpy(v0.h,r0.h):sat
1330# CHECK-NEXT: 1920e060 { v0.w += vdmpy(v0.h,r0.h):sat }
1331
1332//  V6_vdmpyhsuisat
1333//  Vd32.w=vdmpy(Vuu32.h,Rt32.uh,#1):sat
1334    v0.w=vdmpy(v1:0.h,r0.uh,#1):sat
1335# CHECK-NEXT: 1920c020 { v0.w = vdmpy(v1:0.h,r0.uh,#1):sat }
1336
1337//  V6_vdmpyhsuisat_acc
1338//  Vx32.w+=vdmpy(Vuu32.h,Rt32.uh,#1):sat
1339    v0.w+=vdmpy(v1:0.h,r0.uh,#1):sat
1340# CHECK-NEXT: 1920e020 { v0.w += vdmpy(v1:0.h,r0.uh,#1):sat }
1341
1342//  V6_vdmpyhsusat
1343//  Vd32.w=vdmpy(Vu32.h,Rt32.uh):sat
1344    v0.w=vdmpy(v0.h,r0.uh):sat
1345# CHECK-NEXT: 1920c000 { v0.w = vdmpy(v0.h,r0.uh):sat }
1346
1347//  V6_vdmpyhsusat_acc
1348//  Vx32.w+=vdmpy(Vu32.h,Rt32.uh):sat
1349    v0.w+=vdmpy(v0.h,r0.uh):sat
1350# CHECK-NEXT: 1920e000 { v0.w += vdmpy(v0.h,r0.uh):sat }
1351
1352//  V6_vdmpyhvsat
1353//  Vd32.w=vdmpy(Vu32.h,Vv32.h):sat
1354    v0.w=vdmpy(v0.h,v0.h):sat
1355# CHECK-NEXT: 1c00c060 { v0.w = vdmpy(v0.h,v0.h):sat }
1356
1357//  V6_vdmpyhvsat_acc
1358//  Vx32.w+=vdmpy(Vu32.h,Vv32.h):sat
1359    v0.w+=vdmpy(v0.h,v0.h):sat
1360# CHECK-NEXT: 1c00e060 { v0.w += vdmpy(v0.h,v0.h):sat }
1361
1362//  V6_vdsaduh
1363//  Vdd32.uw=vdsad(Vuu32.uh,Rt32.uh)
1364    v1:0.uw=vdsad(v1:0.uh,r0.uh)
1365# CHECK-NEXT: 1900c0a0 { v1:0.uw = vdsad(v1:0.uh,r0.uh) }
1366
1367//  V6_vdsaduh_acc
1368//  Vxx32.uw+=vdsad(Vuu32.uh,Rt32.uh)
1369    v1:0.uw+=vdsad(v1:0.uh,r0.uh)
1370# CHECK-NEXT: 1960e000 { v1:0.uw += vdsad(v1:0.uh,r0.uh) }
1371
1372//  V6_veqb
1373//  Qd4=vcmp.eq(Vu32.b,Vv32.b)
1374    q0=vcmp.eq(v0.b,v0.b)
1375# CHECK-NEXT: 1f80c000 { q0 = vcmp.eq(v0.b,v0.b) }
1376
1377//  V6_veqb_and
1378//  Qx4&=vcmp.eq(Vu32.b,Vv32.b)
1379    q0&=vcmp.eq(v0.b,v0.b)
1380# CHECK-NEXT: 1c80e000 { q0 &= vcmp.eq(v0.b,v0.b) }
1381
1382//  V6_veqb_or
1383//  Qx4|=vcmp.eq(Vu32.b,Vv32.b)
1384    q0|=vcmp.eq(v0.b,v0.b)
1385# CHECK-NEXT: 1c80e040 { q0 |= vcmp.eq(v0.b,v0.b) }
1386
1387//  V6_veqb_xor
1388//  Qx4^=vcmp.eq(Vu32.b,Vv32.b)
1389    q0^=vcmp.eq(v0.b,v0.b)
1390# CHECK-NEXT: 1c80e080 { q0 ^= vcmp.eq(v0.b,v0.b) }
1391
1392//  V6_veqh
1393//  Qd4=vcmp.eq(Vu32.h,Vv32.h)
1394    q0=vcmp.eq(v0.h,v0.h)
1395# CHECK-NEXT: 1f80c004 { q0 = vcmp.eq(v0.h,v0.h) }
1396
1397//  V6_veqh_and
1398//  Qx4&=vcmp.eq(Vu32.h,Vv32.h)
1399    q0&=vcmp.eq(v0.h,v0.h)
1400# CHECK-NEXT: 1c80e004 { q0 &= vcmp.eq(v0.h,v0.h) }
1401
1402//  V6_veqh_or
1403//  Qx4|=vcmp.eq(Vu32.h,Vv32.h)
1404    q0|=vcmp.eq(v0.h,v0.h)
1405# CHECK-NEXT: 1c80e044 { q0 |= vcmp.eq(v0.h,v0.h) }
1406
1407//  V6_veqh_xor
1408//  Qx4^=vcmp.eq(Vu32.h,Vv32.h)
1409    q0^=vcmp.eq(v0.h,v0.h)
1410# CHECK-NEXT: 1c80e084 { q0 ^= vcmp.eq(v0.h,v0.h) }
1411
1412//  V6_veqw
1413//  Qd4=vcmp.eq(Vu32.w,Vv32.w)
1414    q0=vcmp.eq(v0.w,v0.w)
1415# CHECK-NEXT: 1f80c008 { q0 = vcmp.eq(v0.w,v0.w) }
1416
1417//  V6_veqw_and
1418//  Qx4&=vcmp.eq(Vu32.w,Vv32.w)
1419    q0&=vcmp.eq(v0.w,v0.w)
1420# CHECK-NEXT: 1c80e008 { q0 &= vcmp.eq(v0.w,v0.w) }
1421
1422//  V6_veqw_or
1423//  Qx4|=vcmp.eq(Vu32.w,Vv32.w)
1424    q0|=vcmp.eq(v0.w,v0.w)
1425# CHECK-NEXT: 1c80e048 { q0 |= vcmp.eq(v0.w,v0.w) }
1426
1427//  V6_veqw_xor
1428//  Qx4^=vcmp.eq(Vu32.w,Vv32.w)
1429    q0^=vcmp.eq(v0.w,v0.w)
1430# CHECK-NEXT: 1c80e088 { q0 ^= vcmp.eq(v0.w,v0.w) }
1431
1432//  V6_vgathermh
1433//  vtmp.h=vgather(Rt32,Mu2,Vv32.h).h
1434    vtmp.h=vgather(r0,m0,v0.h).h
1435# CHECK-NEXT: 2f00c100 { vtmp.h = vgather(r0,m0,v0.h).h }
1436
1437//  V6_vgathermhq
1438//  if (Qs4) vtmp.h=vgather(Rt32,Mu2,Vv32.h).h
1439    if (q0) vtmp.h=vgather(r0,m0,v0.h).h
1440# CHECK-NEXT: 2f00c500 { if (q0) vtmp.h = vgather(r0,m0,v0.h).h }
1441
1442//  V6_vgathermhw
1443//  vtmp.h=vgather(Rt32,Mu2,Vvv32.w).h
1444    vtmp.h=vgather(r0,m0,v1:0.w).h
1445# CHECK-NEXT: 2f00c200 { vtmp.h = vgather(r0,m0,v1:0.w).h }
1446
1447//  V6_vgathermhwq
1448//  if (Qs4) vtmp.h=vgather(Rt32,Mu2,Vvv32.w).h
1449    if (q0) vtmp.h=vgather(r0,m0,v1:0.w).h
1450# CHECK-NEXT: 2f00c600 { if (q0) vtmp.h = vgather(r0,m0,v1:0.w).h }
1451
1452//  V6_vgathermw
1453//  vtmp.w=vgather(Rt32,Mu2,Vv32.w).w
1454    vtmp.w=vgather(r0,m0,v0.w).w
1455# CHECK-NEXT: 2f00c000 { vtmp.w = vgather(r0,m0,v0.w).w }
1456
1457//  V6_vgathermwq
1458//  if (Qs4) vtmp.w=vgather(Rt32,Mu2,Vv32.w).w
1459    if (q0) vtmp.w=vgather(r0,m0,v0.w).w
1460# CHECK-NEXT: 2f00c400 { if (q0) vtmp.w = vgather(r0,m0,v0.w).w }
1461
1462//  V6_vgtb
1463//  Qd4=vcmp.gt(Vu32.b,Vv32.b)
1464    q0=vcmp.gt(v0.b,v0.b)
1465# CHECK-NEXT: 1f80c010 { q0 = vcmp.gt(v0.b,v0.b) }
1466
1467//  V6_vgtb_and
1468//  Qx4&=vcmp.gt(Vu32.b,Vv32.b)
1469    q0&=vcmp.gt(v0.b,v0.b)
1470# CHECK-NEXT: 1c80e010 { q0 &= vcmp.gt(v0.b,v0.b) }
1471
1472//  V6_vgtb_or
1473//  Qx4|=vcmp.gt(Vu32.b,Vv32.b)
1474    q0|=vcmp.gt(v0.b,v0.b)
1475# CHECK-NEXT: 1c80e050 { q0 |= vcmp.gt(v0.b,v0.b) }
1476
1477//  V6_vgtb_xor
1478//  Qx4^=vcmp.gt(Vu32.b,Vv32.b)
1479    q0^=vcmp.gt(v0.b,v0.b)
1480# CHECK-NEXT: 1c80e090 { q0 ^= vcmp.gt(v0.b,v0.b) }
1481
1482//  V6_vgth
1483//  Qd4=vcmp.gt(Vu32.h,Vv32.h)
1484    q0=vcmp.gt(v0.h,v0.h)
1485# CHECK-NEXT: 1f80c014 { q0 = vcmp.gt(v0.h,v0.h) }
1486
1487//  V6_vgth_and
1488//  Qx4&=vcmp.gt(Vu32.h,Vv32.h)
1489    q0&=vcmp.gt(v0.h,v0.h)
1490# CHECK-NEXT: 1c80e014 { q0 &= vcmp.gt(v0.h,v0.h) }
1491
1492//  V6_vgth_or
1493//  Qx4|=vcmp.gt(Vu32.h,Vv32.h)
1494    q0|=vcmp.gt(v0.h,v0.h)
1495# CHECK-NEXT: 1c80e054 { q0 |= vcmp.gt(v0.h,v0.h) }
1496
1497//  V6_vgth_xor
1498//  Qx4^=vcmp.gt(Vu32.h,Vv32.h)
1499    q0^=vcmp.gt(v0.h,v0.h)
1500# CHECK-NEXT: 1c80e094 { q0 ^= vcmp.gt(v0.h,v0.h) }
1501
1502//  V6_vgtub
1503//  Qd4=vcmp.gt(Vu32.ub,Vv32.ub)
1504    q0=vcmp.gt(v0.ub,v0.ub)
1505# CHECK-NEXT: 1f80c020 { q0 = vcmp.gt(v0.ub,v0.ub) }
1506
1507//  V6_vgtub_and
1508//  Qx4&=vcmp.gt(Vu32.ub,Vv32.ub)
1509    q0&=vcmp.gt(v0.ub,v0.ub)
1510# CHECK-NEXT: 1c80e020 { q0 &= vcmp.gt(v0.ub,v0.ub) }
1511
1512//  V6_vgtub_or
1513//  Qx4|=vcmp.gt(Vu32.ub,Vv32.ub)
1514    q0|=vcmp.gt(v0.ub,v0.ub)
1515# CHECK-NEXT: 1c80e060 { q0 |= vcmp.gt(v0.ub,v0.ub) }
1516
1517//  V6_vgtub_xor
1518//  Qx4^=vcmp.gt(Vu32.ub,Vv32.ub)
1519    q0^=vcmp.gt(v0.ub,v0.ub)
1520# CHECK-NEXT: 1c80e0a0 { q0 ^= vcmp.gt(v0.ub,v0.ub) }
1521
1522//  V6_vgtuh
1523//  Qd4=vcmp.gt(Vu32.uh,Vv32.uh)
1524    q0=vcmp.gt(v0.uh,v0.uh)
1525# CHECK-NEXT: 1f80c024 { q0 = vcmp.gt(v0.uh,v0.uh) }
1526
1527//  V6_vgtuh_and
1528//  Qx4&=vcmp.gt(Vu32.uh,Vv32.uh)
1529    q0&=vcmp.gt(v0.uh,v0.uh)
1530# CHECK-NEXT: 1c80e024 { q0 &= vcmp.gt(v0.uh,v0.uh) }
1531
1532//  V6_vgtuh_or
1533//  Qx4|=vcmp.gt(Vu32.uh,Vv32.uh)
1534    q0|=vcmp.gt(v0.uh,v0.uh)
1535# CHECK-NEXT: 1c80e064 { q0 |= vcmp.gt(v0.uh,v0.uh) }
1536
1537//  V6_vgtuh_xor
1538//  Qx4^=vcmp.gt(Vu32.uh,Vv32.uh)
1539    q0^=vcmp.gt(v0.uh,v0.uh)
1540# CHECK-NEXT: 1c80e0a4 { q0 ^= vcmp.gt(v0.uh,v0.uh) }
1541
1542//  V6_vgtuw
1543//  Qd4=vcmp.gt(Vu32.uw,Vv32.uw)
1544    q0=vcmp.gt(v0.uw,v0.uw)
1545# CHECK-NEXT: 1f80c028 { q0 = vcmp.gt(v0.uw,v0.uw) }
1546
1547//  V6_vgtuw_and
1548//  Qx4&=vcmp.gt(Vu32.uw,Vv32.uw)
1549    q0&=vcmp.gt(v0.uw,v0.uw)
1550# CHECK-NEXT: 1c80e028 { q0 &= vcmp.gt(v0.uw,v0.uw) }
1551
1552//  V6_vgtuw_or
1553//  Qx4|=vcmp.gt(Vu32.uw,Vv32.uw)
1554    q0|=vcmp.gt(v0.uw,v0.uw)
1555# CHECK-NEXT: 1c80e068 { q0 |= vcmp.gt(v0.uw,v0.uw) }
1556
1557//  V6_vgtuw_xor
1558//  Qx4^=vcmp.gt(Vu32.uw,Vv32.uw)
1559    q0^=vcmp.gt(v0.uw,v0.uw)
1560# CHECK-NEXT: 1c80e0a8 { q0 ^= vcmp.gt(v0.uw,v0.uw) }
1561
1562//  V6_vgtw
1563//  Qd4=vcmp.gt(Vu32.w,Vv32.w)
1564    q0=vcmp.gt(v0.w,v0.w)
1565# CHECK-NEXT: 1f80c018 { q0 = vcmp.gt(v0.w,v0.w) }
1566
1567//  V6_vgtw_and
1568//  Qx4&=vcmp.gt(Vu32.w,Vv32.w)
1569    q0&=vcmp.gt(v0.w,v0.w)
1570# CHECK-NEXT: 1c80e018 { q0 &= vcmp.gt(v0.w,v0.w) }
1571
1572//  V6_vgtw_or
1573//  Qx4|=vcmp.gt(Vu32.w,Vv32.w)
1574    q0|=vcmp.gt(v0.w,v0.w)
1575# CHECK-NEXT: 1c80e058 { q0 |= vcmp.gt(v0.w,v0.w) }
1576
1577//  V6_vgtw_xor
1578//  Qx4^=vcmp.gt(Vu32.w,Vv32.w)
1579    q0^=vcmp.gt(v0.w,v0.w)
1580# CHECK-NEXT: 1c80e098 { q0 ^= vcmp.gt(v0.w,v0.w) }
1581
1582//  V6_vhist
1583//  vhist
1584    vhist
1585# CHECK-NEXT: 1e00e080 { vhist }
1586
1587//  V6_vhistq
1588//  vhist(Qv4)
1589    vhist(q0)
1590# CHECK-NEXT: 1e02e080 { vhist(q0) }
1591
1592//  V6_vinsertwr
1593//  Vx32.w=vinsert(Rt32)
1594    v0.w=vinsert(r0)
1595# CHECK-NEXT: 19a0e020 { v0.w = vinsert(r0) }
1596
1597//  V6_vlalignb
1598//  Vd32=vlalign(Vu32,Vv32,Rt8)
1599    v0=vlalign(v0,v0,r0)
1600# CHECK-NEXT: 1b00c020 { v0 = vlalign(v0,v0,r0) }
1601
1602//  V6_vlalignbi
1603//  Vd32=vlalign(Vu32,Vv32,#u3)
1604    v0=vlalign(v0,v0,#0)
1605# CHECK-NEXT: 1e60e000 { v0 = vlalign(v0,v0,#0) }
1606
1607//  V6_vlsrb
1608//  Vd32.ub=vlsr(Vu32.ub,Rt32)
1609    v0.ub=vlsr(v0.ub,r0)
1610# CHECK-NEXT: 1980c060 { v0.ub = vlsr(v0.ub,r0) }
1611
1612//  V6_vlsrh
1613//  Vd32.uh=vlsr(Vu32.uh,Rt32)
1614    v0.uh=vlsr(v0.uh,r0)
1615# CHECK-NEXT: 1980c040 { v0.uh = vlsr(v0.uh,r0) }
1616
1617//  V6_vlsrhv
1618//  Vd32.h=vlsr(Vu32.h,Vv32.h)
1619    v0.h=vlsr(v0.h,v0.h)
1620# CHECK-NEXT: 1fa0c040 { v0.h = vlsr(v0.h,v0.h) }
1621
1622//  V6_vlsrw
1623//  Vd32.uw=vlsr(Vu32.uw,Rt32)
1624    v0.uw=vlsr(v0.uw,r0)
1625# CHECK-NEXT: 1980c020 { v0.uw = vlsr(v0.uw,r0) }
1626
1627//  V6_vlsrwv
1628//  Vd32.w=vlsr(Vu32.w,Vv32.w)
1629    v0.w=vlsr(v0.w,v0.w)
1630# CHECK-NEXT: 1fa0c020 { v0.w = vlsr(v0.w,v0.w) }
1631
1632//  V6_vlut4
1633//  Vd32.h=vlut4(Vu32.uh,Rtt32.h)
1634    v0.h=vlut4(v0.uh,r1:0.h)
1635# CHECK-NEXT: 1960c080 { v0.h = vlut4(v0.uh,r1:0.h) }
1636
1637//  V6_vlutvvb
1638//  Vd32.b=vlut32(Vu32.b,Vv32.b,Rt8)
1639    v0.b=vlut32(v0.b,v0.b,r0)
1640# CHECK-NEXT: 1b00e020 { v0.b = vlut32(v0.b,v0.b,r0) }
1641
1642//  V6_vlutvvb_nm
1643//  Vd32.b=vlut32(Vu32.b,Vv32.b,Rt8):nomatch
1644    v0.b=vlut32(v0.b,v0.b,r0):nomatch
1645# CHECK-NEXT: 1800c060 { v0.b = vlut32(v0.b,v0.b,r0):nomatch }
1646
1647//  V6_vlutvvb_oracc
1648//  Vx32.b|=vlut32(Vu32.b,Vv32.b,Rt8)
1649    v0.b|=vlut32(v0.b,v0.b,r0)
1650# CHECK-NEXT: 1b00e0a0 { v0.b |= vlut32(v0.b,v0.b,r0) }
1651
1652//  V6_vlutvvb_oracci
1653//  Vx32.b|=vlut32(Vu32.b,Vv32.b,#u3)
1654    v0.b|=vlut32(v0.b,v0.b,#0)
1655# CHECK-NEXT: 1cc0e000 { v0.b |= vlut32(v0.b,v0.b,#0) }
1656
1657//  V6_vlutvvbi
1658//  Vd32.b=vlut32(Vu32.b,Vv32.b,#u3)
1659    v0.b=vlut32(v0.b,v0.b,#0)
1660# CHECK-NEXT: 1e20c000 { v0.b = vlut32(v0.b,v0.b,#0) }
1661
1662//  V6_vlutvwh
1663//  Vdd32.h=vlut16(Vu32.b,Vv32.h,Rt8)
1664    v1:0.h=vlut16(v0.b,v0.h,r0)
1665# CHECK-NEXT: 1b00e0c0 { v1:0.h = vlut16(v0.b,v0.h,r0) }
1666
1667//  V6_vlutvwh_nm
1668//  Vdd32.h=vlut16(Vu32.b,Vv32.h,Rt8):nomatch
1669    v1:0.h=vlut16(v0.b,v0.h,r0):nomatch
1670# CHECK-NEXT: 1800c080 { v1:0.h = vlut16(v0.b,v0.h,r0):nomatch }
1671
1672//  V6_vlutvwh_oracc
1673//  Vxx32.h|=vlut16(Vu32.b,Vv32.h,Rt8)
1674    v1:0.h|=vlut16(v0.b,v0.h,r0)
1675# CHECK-NEXT: 1b00e0e0 { v1:0.h |= vlut16(v0.b,v0.h,r0) }
1676
1677//  V6_vlutvwh_oracci
1678//  Vxx32.h|=vlut16(Vu32.b,Vv32.h,#u3)
1679    v1:0.h|=vlut16(v0.b,v0.h,#0)
1680# CHECK-NEXT: 1ce0e000 { v1:0.h |= vlut16(v0.b,v0.h,#0) }
1681
1682//  V6_vlutvwhi
1683//  Vdd32.h=vlut16(Vu32.b,Vv32.h,#u3)
1684    v1:0.h=vlut16(v0.b,v0.h,#0)
1685# CHECK-NEXT: 1e60c000 { v1:0.h = vlut16(v0.b,v0.h,#0) }
1686
1687//  V6_vmaxb
1688//  Vd32.b=vmax(Vu32.b,Vv32.b)
1689    v0.b=vmax(v0.b,v0.b)
1690# CHECK-NEXT: 1f20c0a0 { v0.b = vmax(v0.b,v0.b) }
1691
1692//  V6_vmaxh
1693//  Vd32.h=vmax(Vu32.h,Vv32.h)
1694    v0.h=vmax(v0.h,v0.h)
1695# CHECK-NEXT: 1f00c0e0 { v0.h = vmax(v0.h,v0.h) }
1696
1697//  V6_vmaxub
1698//  Vd32.ub=vmax(Vu32.ub,Vv32.ub)
1699    v0.ub=vmax(v0.ub,v0.ub)
1700# CHECK-NEXT: 1f00c0a0 { v0.ub = vmax(v0.ub,v0.ub) }
1701
1702//  V6_vmaxuh
1703//  Vd32.uh=vmax(Vu32.uh,Vv32.uh)
1704    v0.uh=vmax(v0.uh,v0.uh)
1705# CHECK-NEXT: 1f00c0c0 { v0.uh = vmax(v0.uh,v0.uh) }
1706
1707//  V6_vmaxw
1708//  Vd32.w=vmax(Vu32.w,Vv32.w)
1709    v0.w=vmax(v0.w,v0.w)
1710# CHECK-NEXT: 1f20c000 { v0.w = vmax(v0.w,v0.w) }
1711
1712//  V6_vminb
1713//  Vd32.b=vmin(Vu32.b,Vv32.b)
1714    v0.b=vmin(v0.b,v0.b)
1715# CHECK-NEXT: 1f20c080 { v0.b = vmin(v0.b,v0.b) }
1716
1717//  V6_vminh
1718//  Vd32.h=vmin(Vu32.h,Vv32.h)
1719    v0.h=vmin(v0.h,v0.h)
1720# CHECK-NEXT: 1f00c060 { v0.h = vmin(v0.h,v0.h) }
1721
1722//  V6_vminub
1723//  Vd32.ub=vmin(Vu32.ub,Vv32.ub)
1724    v0.ub=vmin(v0.ub,v0.ub)
1725# CHECK-NEXT: 1f00c020 { v0.ub = vmin(v0.ub,v0.ub) }
1726
1727//  V6_vminuh
1728//  Vd32.uh=vmin(Vu32.uh,Vv32.uh)
1729    v0.uh=vmin(v0.uh,v0.uh)
1730# CHECK-NEXT: 1f00c040 { v0.uh = vmin(v0.uh,v0.uh) }
1731
1732//  V6_vminw
1733//  Vd32.w=vmin(Vu32.w,Vv32.w)
1734    v0.w=vmin(v0.w,v0.w)
1735# CHECK-NEXT: 1f00c080 { v0.w = vmin(v0.w,v0.w) }
1736
1737//  V6_vmpabus
1738//  Vdd32.h=vmpa(Vuu32.ub,Rt32.b)
1739    v1:0.h=vmpa(v1:0.ub,r0.b)
1740# CHECK-NEXT: 1920c0c0 { v1:0.h = vmpa(v1:0.ub,r0.b) }
1741
1742//  V6_vmpabus_acc
1743//  Vxx32.h+=vmpa(Vuu32.ub,Rt32.b)
1744    v1:0.h+=vmpa(v1:0.ub,r0.b)
1745# CHECK-NEXT: 1920e0c0 { v1:0.h += vmpa(v1:0.ub,r0.b) }
1746
1747//  V6_vmpabusv
1748//  Vdd32.h=vmpa(Vuu32.ub,Vvv32.b)
1749    v1:0.h=vmpa(v1:0.ub,v1:0.b)
1750# CHECK-NEXT: 1c20c060 { v1:0.h = vmpa(v1:0.ub,v1:0.b) }
1751
1752//  V6_vmpabuu
1753//  Vdd32.h=vmpa(Vuu32.ub,Rt32.ub)
1754    v1:0.h=vmpa(v1:0.ub,r0.ub)
1755# CHECK-NEXT: 1960c060 { v1:0.h = vmpa(v1:0.ub,r0.ub) }
1756
1757//  V6_vmpabuu_acc
1758//  Vxx32.h+=vmpa(Vuu32.ub,Rt32.ub)
1759    v1:0.h+=vmpa(v1:0.ub,r0.ub)
1760# CHECK-NEXT: 19a0e080 { v1:0.h += vmpa(v1:0.ub,r0.ub) }
1761
1762//  V6_vmpabuuv
1763//  Vdd32.h=vmpa(Vuu32.ub,Vvv32.ub)
1764    v1:0.h=vmpa(v1:0.ub,v1:0.ub)
1765# CHECK-NEXT: 1ce0c0e0 { v1:0.h = vmpa(v1:0.ub,v1:0.ub) }
1766
1767//  V6_vmpahb
1768//  Vdd32.w=vmpa(Vuu32.h,Rt32.b)
1769    v1:0.w=vmpa(v1:0.h,r0.b)
1770# CHECK-NEXT: 1920c0e0 { v1:0.w = vmpa(v1:0.h,r0.b) }
1771
1772//  V6_vmpahb_acc
1773//  Vxx32.w+=vmpa(Vuu32.h,Rt32.b)
1774    v1:0.w+=vmpa(v1:0.h,r0.b)
1775# CHECK-NEXT: 1920e0e0 { v1:0.w += vmpa(v1:0.h,r0.b) }
1776
1777//  V6_vmpahhsat
1778//  Vx32.h=vmpa(Vx32.h,Vu32.h,Rtt32.h):sat
1779    v0.h=vmpa(v0.h,v0.h,r1:0.h):sat
1780# CHECK-NEXT: 1980e080 { v0.h = vmpa(v0.h,v0.h,r1:0.h):sat }
1781
1782//  V6_vmpauhb
1783//  Vdd32.w=vmpa(Vuu32.uh,Rt32.b)
1784    v1:0.w=vmpa(v1:0.uh,r0.b)
1785# CHECK-NEXT: 1980c0a0 { v1:0.w = vmpa(v1:0.uh,r0.b) }
1786
1787//  V6_vmpauhb_acc
1788//  Vxx32.w+=vmpa(Vuu32.uh,Rt32.b)
1789    v1:0.w+=vmpa(v1:0.uh,r0.b)
1790# CHECK-NEXT: 1980e040 { v1:0.w += vmpa(v1:0.uh,r0.b) }
1791
1792//  V6_vmpauhuhsat
1793//  Vx32.h=vmpa(Vx32.h,Vu32.uh,Rtt32.uh):sat
1794    v0.h=vmpa(v0.h,v0.uh,r1:0.uh):sat
1795# CHECK-NEXT: 1980e0a0 { v0.h = vmpa(v0.h,v0.uh,r1:0.uh):sat }
1796
1797//  V6_vmpsuhuhsat
1798//  Vx32.h=vmps(Vx32.h,Vu32.uh,Rtt32.uh):sat
1799    v0.h=vmps(v0.h,v0.uh,r1:0.uh):sat
1800# CHECK-NEXT: 1980e0c0 { v0.h = vmps(v0.h,v0.uh,r1:0.uh):sat }
1801
1802//  V6_vmpybus
1803//  Vdd32.h=vmpy(Vu32.ub,Rt32.b)
1804    v1:0.h=vmpy(v0.ub,r0.b)
1805# CHECK-NEXT: 1920c0a0 { v1:0.h = vmpy(v0.ub,r0.b) }
1806
1807//  V6_vmpybus_acc
1808//  Vxx32.h+=vmpy(Vu32.ub,Rt32.b)
1809    v1:0.h+=vmpy(v0.ub,r0.b)
1810# CHECK-NEXT: 1920e0a0 { v1:0.h += vmpy(v0.ub,r0.b) }
1811
1812//  V6_vmpybusv
1813//  Vdd32.h=vmpy(Vu32.ub,Vv32.b)
1814    v1:0.h=vmpy(v0.ub,v0.b)
1815# CHECK-NEXT: 1c00c0c0 { v1:0.h = vmpy(v0.ub,v0.b) }
1816
1817//  V6_vmpybusv_acc
1818//  Vxx32.h+=vmpy(Vu32.ub,Vv32.b)
1819    v1:0.h+=vmpy(v0.ub,v0.b)
1820# CHECK-NEXT: 1c00e0c0 { v1:0.h += vmpy(v0.ub,v0.b) }
1821
1822//  V6_vmpybv
1823//  Vdd32.h=vmpy(Vu32.b,Vv32.b)
1824    v1:0.h=vmpy(v0.b,v0.b)
1825# CHECK-NEXT: 1c00c080 { v1:0.h = vmpy(v0.b,v0.b) }
1826
1827//  V6_vmpybv_acc
1828//  Vxx32.h+=vmpy(Vu32.b,Vv32.b)
1829    v1:0.h+=vmpy(v0.b,v0.b)
1830# CHECK-NEXT: 1c00e080 { v1:0.h += vmpy(v0.b,v0.b) }
1831
1832//  V6_vmpyewuh
1833//  Vd32.w=vmpye(Vu32.w,Vv32.uh)
1834    v0.w=vmpye(v0.w,v0.uh)
1835# CHECK-NEXT: 1fe0c0a0 { v0.w = vmpye(v0.w,v0.uh) }
1836
1837//  V6_vmpyewuh_64
1838//  Vdd32=vmpye(Vu32.w,Vv32.uh)
1839    v1:0=vmpye(v0.w,v0.uh)
1840# CHECK-NEXT: 1ea0c0c0 { v1:0 = vmpye(v0.w,v0.uh) }
1841
1842//  V6_vmpyh
1843//  Vdd32.w=vmpy(Vu32.h,Rt32.h)
1844    v1:0.w=vmpy(v0.h,r0.h)
1845# CHECK-NEXT: 1940c000 { v1:0.w = vmpy(v0.h,r0.h) }
1846
1847//  V6_vmpyh_acc
1848//  Vxx32.w+=vmpy(Vu32.h,Rt32.h)
1849    v1:0.w+=vmpy(v0.h,r0.h)
1850# CHECK-NEXT: 19a0e0c0 { v1:0.w += vmpy(v0.h,r0.h) }
1851
1852//  V6_vmpyhsat_acc
1853//  Vxx32.w+=vmpy(Vu32.h,Rt32.h):sat
1854    v1:0.w+=vmpy(v0.h,r0.h):sat
1855# CHECK-NEXT: 1940e000 { v1:0.w += vmpy(v0.h,r0.h):sat }
1856
1857//  V6_vmpyhsrs
1858//  Vd32.h=vmpy(Vu32.h,Rt32.h):<<1:rnd:sat
1859    v0.h=vmpy(v0.h,r0.h):<<1:rnd:sat
1860# CHECK-NEXT: 1940c040 { v0.h = vmpy(v0.h,r0.h):<<1:rnd:sat }
1861
1862//  V6_vmpyhss
1863//  Vd32.h=vmpy(Vu32.h,Rt32.h):<<1:sat
1864    v0.h=vmpy(v0.h,r0.h):<<1:sat
1865# CHECK-NEXT: 1940c020 { v0.h = vmpy(v0.h,r0.h):<<1:sat }
1866
1867//  V6_vmpyhus
1868//  Vdd32.w=vmpy(Vu32.h,Vv32.uh)
1869    v1:0.w=vmpy(v0.h,v0.uh)
1870# CHECK-NEXT: 1c20c040 { v1:0.w = vmpy(v0.h,v0.uh) }
1871
1872//  V6_vmpyhus_acc
1873//  Vxx32.w+=vmpy(Vu32.h,Vv32.uh)
1874    v1:0.w+=vmpy(v0.h,v0.uh)
1875# CHECK-NEXT: 1c20e020 { v1:0.w += vmpy(v0.h,v0.uh) }
1876
1877//  V6_vmpyhv
1878//  Vdd32.w=vmpy(Vu32.h,Vv32.h)
1879    v1:0.w=vmpy(v0.h,v0.h)
1880# CHECK-NEXT: 1c00c0e0 { v1:0.w = vmpy(v0.h,v0.h) }
1881
1882//  V6_vmpyhv_acc
1883//  Vxx32.w+=vmpy(Vu32.h,Vv32.h)
1884    v1:0.w+=vmpy(v0.h,v0.h)
1885# CHECK-NEXT: 1c00e0e0 { v1:0.w += vmpy(v0.h,v0.h) }
1886
1887//  V6_vmpyhvsrs
1888//  Vd32.h=vmpy(Vu32.h,Vv32.h):<<1:rnd:sat
1889    v0.h=vmpy(v0.h,v0.h):<<1:rnd:sat
1890# CHECK-NEXT: 1c20c020 { v0.h = vmpy(v0.h,v0.h):<<1:rnd:sat }
1891
1892//  V6_vmpyieoh
1893//  Vd32.w=vmpyieo(Vu32.h,Vv32.h)
1894    v0.w=vmpyieo(v0.h,v0.h)
1895# CHECK-NEXT: 1f60c000 { v0.w = vmpyieo(v0.h,v0.h) }
1896
1897//  V6_vmpyiewh_acc
1898//  Vx32.w+=vmpyie(Vu32.w,Vv32.h)
1899    v0.w+=vmpyie(v0.w,v0.h)
1900# CHECK-NEXT: 1c40e000 { v0.w += vmpyie(v0.w,v0.h) }
1901
1902//  V6_vmpyiewuh
1903//  Vd32.w=vmpyie(Vu32.w,Vv32.uh)
1904    v0.w=vmpyie(v0.w,v0.uh)
1905# CHECK-NEXT: 1fc0c000 { v0.w = vmpyie(v0.w,v0.uh) }
1906
1907//  V6_vmpyiewuh_acc
1908//  Vx32.w+=vmpyie(Vu32.w,Vv32.uh)
1909    v0.w+=vmpyie(v0.w,v0.uh)
1910# CHECK-NEXT: 1c20e0a0 { v0.w += vmpyie(v0.w,v0.uh) }
1911
1912//  V6_vmpyih
1913//  Vd32.h=vmpyi(Vu32.h,Vv32.h)
1914    v0.h=vmpyi(v0.h,v0.h)
1915# CHECK-NEXT: 1c20c080 { v0.h = vmpyi(v0.h,v0.h) }
1916
1917//  V6_vmpyih_acc
1918//  Vx32.h+=vmpyi(Vu32.h,Vv32.h)
1919    v0.h+=vmpyi(v0.h,v0.h)
1920# CHECK-NEXT: 1c20e080 { v0.h += vmpyi(v0.h,v0.h) }
1921
1922//  V6_vmpyihb
1923//  Vd32.h=vmpyi(Vu32.h,Rt32.b)
1924    v0.h=vmpyi(v0.h,r0.b)
1925# CHECK-NEXT: 1960c000 { v0.h = vmpyi(v0.h,r0.b) }
1926
1927//  V6_vmpyihb_acc
1928//  Vx32.h+=vmpyi(Vu32.h,Rt32.b)
1929    v0.h+=vmpyi(v0.h,r0.b)
1930# CHECK-NEXT: 1960e020 { v0.h += vmpyi(v0.h,r0.b) }
1931
1932//  V6_vmpyiowh
1933//  Vd32.w=vmpyio(Vu32.w,Vv32.h)
1934    v0.w=vmpyio(v0.w,v0.h)
1935# CHECK-NEXT: 1fc0c020 { v0.w = vmpyio(v0.w,v0.h) }
1936
1937//  V6_vmpyiwb
1938//  Vd32.w=vmpyi(Vu32.w,Rt32.b)
1939    v0.w=vmpyi(v0.w,r0.b)
1940# CHECK-NEXT: 19a0c000 { v0.w = vmpyi(v0.w,r0.b) }
1941
1942//  V6_vmpyiwb_acc
1943//  Vx32.w+=vmpyi(Vu32.w,Rt32.b)
1944    v0.w+=vmpyi(v0.w,r0.b)
1945# CHECK-NEXT: 1940e040 { v0.w += vmpyi(v0.w,r0.b) }
1946
1947//  V6_vmpyiwh
1948//  Vd32.w=vmpyi(Vu32.w,Rt32.h)
1949    v0.w=vmpyi(v0.w,r0.h)
1950# CHECK-NEXT: 1980c0e0 { v0.w = vmpyi(v0.w,r0.h) }
1951
1952//  V6_vmpyiwh_acc
1953//  Vx32.w+=vmpyi(Vu32.w,Rt32.h)
1954    v0.w+=vmpyi(v0.w,r0.h)
1955# CHECK-NEXT: 1940e060 { v0.w += vmpyi(v0.w,r0.h) }
1956
1957//  V6_vmpyiwub
1958//  Vd32.w=vmpyi(Vu32.w,Rt32.ub)
1959    v0.w=vmpyi(v0.w,r0.ub)
1960# CHECK-NEXT: 1980c0c0 { v0.w = vmpyi(v0.w,r0.ub) }
1961
1962//  V6_vmpyiwub_acc
1963//  Vx32.w+=vmpyi(Vu32.w,Rt32.ub)
1964    v0.w+=vmpyi(v0.w,r0.ub)
1965# CHECK-NEXT: 1980e020 { v0.w += vmpyi(v0.w,r0.ub) }
1966
1967//  V6_vmpyowh
1968//  Vd32.w=vmpyo(Vu32.w,Vv32.h):<<1:sat
1969    v0.w=vmpyo(v0.w,v0.h):<<1:sat
1970# CHECK-NEXT: 1fe0c0e0 { v0.w = vmpyo(v0.w,v0.h):<<1:sat }
1971
1972//  V6_vmpyowh_64_acc
1973//  Vxx32+=vmpyo(Vu32.w,Vv32.h)
1974    v1:0+=vmpyo(v0.w,v0.h)
1975# CHECK-NEXT: 1c20e060 { v1:0 += vmpyo(v0.w,v0.h) }
1976
1977//  V6_vmpyowh_rnd
1978//  Vd32.w=vmpyo(Vu32.w,Vv32.h):<<1:rnd:sat
1979    v0.w=vmpyo(v0.w,v0.h):<<1:rnd:sat
1980# CHECK-NEXT: 1f40c000 { v0.w = vmpyo(v0.w,v0.h):<<1:rnd:sat }
1981
1982//  V6_vmpyowh_rnd_sacc
1983//  Vx32.w+=vmpyo(Vu32.w,Vv32.h):<<1:rnd:sat:shift
1984    v0.w+=vmpyo(v0.w,v0.h):<<1:rnd:sat:shift
1985# CHECK-NEXT: 1c20e0e0 { v0.w += vmpyo(v0.w,v0.h):<<1:rnd:sat:shift }
1986
1987//  V6_vmpyowh_sacc
1988//  Vx32.w+=vmpyo(Vu32.w,Vv32.h):<<1:sat:shift
1989    v0.w+=vmpyo(v0.w,v0.h):<<1:sat:shift
1990# CHECK-NEXT: 1c20e0c0 { v0.w += vmpyo(v0.w,v0.h):<<1:sat:shift }
1991
1992//  V6_vmpyub
1993//  Vdd32.uh=vmpy(Vu32.ub,Rt32.ub)
1994    v1:0.uh=vmpy(v0.ub,r0.ub)
1995# CHECK-NEXT: 19c0c000 { v1:0.uh = vmpy(v0.ub,r0.ub) }
1996
1997//  V6_vmpyub_acc
1998//  Vxx32.uh+=vmpy(Vu32.ub,Rt32.ub)
1999    v1:0.uh+=vmpy(v0.ub,r0.ub)
2000# CHECK-NEXT: 1980e000 { v1:0.uh += vmpy(v0.ub,r0.ub) }
2001
2002//  V6_vmpyubv
2003//  Vdd32.uh=vmpy(Vu32.ub,Vv32.ub)
2004    v1:0.uh=vmpy(v0.ub,v0.ub)
2005# CHECK-NEXT: 1c00c0a0 { v1:0.uh = vmpy(v0.ub,v0.ub) }
2006
2007//  V6_vmpyubv_acc
2008//  Vxx32.uh+=vmpy(Vu32.ub,Vv32.ub)
2009    v1:0.uh+=vmpy(v0.ub,v0.ub)
2010# CHECK-NEXT: 1c00e0a0 { v1:0.uh += vmpy(v0.ub,v0.ub) }
2011
2012//  V6_vmpyuh
2013//  Vdd32.uw=vmpy(Vu32.uh,Rt32.uh)
2014    v1:0.uw=vmpy(v0.uh,r0.uh)
2015# CHECK-NEXT: 1940c060 { v1:0.uw = vmpy(v0.uh,r0.uh) }
2016
2017//  V6_vmpyuh_acc
2018//  Vxx32.uw+=vmpy(Vu32.uh,Rt32.uh)
2019    v1:0.uw+=vmpy(v0.uh,r0.uh)
2020# CHECK-NEXT: 1940e020 { v1:0.uw += vmpy(v0.uh,r0.uh) }
2021
2022//  V6_vmpyuhe
2023//  Vd32.uw=vmpye(Vu32.uh,Rt32.uh)
2024    v0.uw=vmpye(v0.uh,r0.uh)
2025# CHECK-NEXT: 1960c040 { v0.uw = vmpye(v0.uh,r0.uh) }
2026
2027//  V6_vmpyuhe_acc
2028//  Vx32.uw+=vmpye(Vu32.uh,Rt32.uh)
2029    v0.uw+=vmpye(v0.uh,r0.uh)
2030# CHECK-NEXT: 1980e060 { v0.uw += vmpye(v0.uh,r0.uh) }
2031
2032//  V6_vmpyuhv
2033//  Vdd32.uw=vmpy(Vu32.uh,Vv32.uh)
2034    v1:0.uw=vmpy(v0.uh,v0.uh)
2035# CHECK-NEXT: 1c20c000 { v1:0.uw = vmpy(v0.uh,v0.uh) }
2036
2037//  V6_vmpyuhv_acc
2038//  Vxx32.uw+=vmpy(Vu32.uh,Vv32.uh)
2039    v1:0.uw+=vmpy(v0.uh,v0.uh)
2040# CHECK-NEXT: 1c20e000 { v1:0.uw += vmpy(v0.uh,v0.uh) }
2041
2042//  V6_vmux
2043//  Vd32=vmux(Qt4,Vu32,Vv32)
2044    v0=vmux(q0,v0,v0)
2045# CHECK-NEXT: 1ee0e000 { v0 = vmux(q0,v0,v0) }
2046
2047//  V6_vnavgb
2048//  Vd32.b=vnavg(Vu32.b,Vv32.b)
2049    v0.b=vnavg(v0.b,v0.b)
2050# CHECK-NEXT: 1f00e0c0 { v0.b = vnavg(v0.b,v0.b) }
2051
2052//  V6_vnavgh
2053//  Vd32.h=vnavg(Vu32.h,Vv32.h)
2054    v0.h=vnavg(v0.h,v0.h)
2055# CHECK-NEXT: 1ce0c020 { v0.h = vnavg(v0.h,v0.h) }
2056
2057//  V6_vnavgub
2058//  Vd32.b=vnavg(Vu32.ub,Vv32.ub)
2059    v0.b=vnavg(v0.ub,v0.ub)
2060# CHECK-NEXT: 1ce0c000 { v0.b = vnavg(v0.ub,v0.ub) }
2061
2062//  V6_vnavgw
2063//  Vd32.w=vnavg(Vu32.w,Vv32.w)
2064    v0.w=vnavg(v0.w,v0.w)
2065# CHECK-NEXT: 1ce0c040 { v0.w = vnavg(v0.w,v0.w) }
2066
2067//  V6_vnccombine
2068//  if (!Ps4) Vdd32=vcombine(Vu32,Vv32)
2069    if (!p0) v1:0=vcombine(v0,v0)
2070# CHECK-NEXT: 1a40c000 { if (!p0) v1:0 = vcombine(v0,v0) }
2071
2072//  V6_vncmov
2073//  if (!Ps4) Vd32=Vu32
2074    if (!p0) v0=v0
2075# CHECK-NEXT: 1a20c000 { if (!p0) v0 = v0 }
2076
2077//  V6_vnormamth
2078//  Vd32.h=vnormamt(Vu32.h)
2079    v0.h=vnormamt(v0.h)
2080# CHECK-NEXT: 1e03c0a0 { v0.h = vnormamt(v0.h) }
2081
2082//  V6_vnormamtw
2083//  Vd32.w=vnormamt(Vu32.w)
2084    v0.w=vnormamt(v0.w)
2085# CHECK-NEXT: 1e03c080 { v0.w = vnormamt(v0.w) }
2086
2087//  V6_vnot
2088//  Vd32=vnot(Vu32)
2089    v0=vnot(v0)
2090# CHECK-NEXT: 1e00c080 { v0 = vnot(v0) }
2091
2092//  V6_vor
2093//  Vd32=vor(Vu32,Vv32)
2094    v0=vor(v0,v0)
2095# CHECK-NEXT: 1c20c0c0 { v0 = vor(v0,v0) }
2096
2097//  V6_vpackeb
2098//  Vd32.b=vpacke(Vu32.h,Vv32.h)
2099    v0.b=vpacke(v0.h,v0.h)
2100# CHECK-NEXT: 1fc0c040 { v0.b = vpacke(v0.h,v0.h) }
2101
2102//  V6_vpackeh
2103//  Vd32.h=vpacke(Vu32.w,Vv32.w)
2104    v0.h=vpacke(v0.w,v0.w)
2105# CHECK-NEXT: 1fc0c060 { v0.h = vpacke(v0.w,v0.w) }
2106
2107//  V6_vpackhb_sat
2108//  Vd32.b=vpack(Vu32.h,Vv32.h):sat
2109    v0.b=vpack(v0.h,v0.h):sat
2110# CHECK-NEXT: 1fc0c0c0 { v0.b = vpack(v0.h,v0.h):sat }
2111
2112//  V6_vpackhub_sat
2113//  Vd32.ub=vpack(Vu32.h,Vv32.h):sat
2114    v0.ub=vpack(v0.h,v0.h):sat
2115# CHECK-NEXT: 1fc0c0a0 { v0.ub = vpack(v0.h,v0.h):sat }
2116
2117//  V6_vpackob
2118//  Vd32.b=vpacko(Vu32.h,Vv32.h)
2119    v0.b=vpacko(v0.h,v0.h)
2120# CHECK-NEXT: 1fe0c020 { v0.b = vpacko(v0.h,v0.h) }
2121
2122//  V6_vpackoh
2123//  Vd32.h=vpacko(Vu32.w,Vv32.w)
2124    v0.h=vpacko(v0.w,v0.w)
2125# CHECK-NEXT: 1fe0c040 { v0.h = vpacko(v0.w,v0.w) }
2126
2127//  V6_vpackwh_sat
2128//  Vd32.h=vpack(Vu32.w,Vv32.w):sat
2129    v0.h=vpack(v0.w,v0.w):sat
2130# CHECK-NEXT: 1fe0c000 { v0.h = vpack(v0.w,v0.w):sat }
2131
2132//  V6_vpackwuh_sat
2133//  Vd32.uh=vpack(Vu32.w,Vv32.w):sat
2134    v0.uh=vpack(v0.w,v0.w):sat
2135# CHECK-NEXT: 1fc0c0e0 { v0.uh = vpack(v0.w,v0.w):sat }
2136
2137//  V6_vpopcounth
2138//  Vd32.h=vpopcount(Vu32.h)
2139    v0.h=vpopcount(v0.h)
2140# CHECK-NEXT: 1e02c0c0 { v0.h = vpopcount(v0.h) }
2141
2142//  V6_vprefixqb
2143//  Vd32.b=prefixsum(Qv4)
2144    v0.b=prefixsum(q0)
2145# CHECK-NEXT: 1e03e040 { v0.b = prefixsum(q0) }
2146
2147//  V6_vprefixqh
2148//  Vd32.h=prefixsum(Qv4)
2149    v0.h=prefixsum(q0)
2150# CHECK-NEXT: 1e03e140 { v0.h = prefixsum(q0) }
2151
2152//  V6_vprefixqw
2153//  Vd32.w=prefixsum(Qv4)
2154    v0.w=prefixsum(q0)
2155# CHECK-NEXT: 1e03e240 { v0.w = prefixsum(q0) }
2156
2157//  V6_vrdelta
2158//  Vd32=vrdelta(Vu32,Vv32)
2159    v0=vrdelta(v0,v0)
2160# CHECK-NEXT: 1f20c060 { v0 = vrdelta(v0,v0) }
2161
2162//  V6_vrmpybus
2163//  Vd32.w=vrmpy(Vu32.ub,Rt32.b)
2164    v0.w=vrmpy(v0.ub,r0.b)
2165# CHECK-NEXT: 1900c080 { v0.w = vrmpy(v0.ub,r0.b) }
2166
2167//  V6_vrmpybus_acc
2168//  Vx32.w+=vrmpy(Vu32.ub,Rt32.b)
2169    v0.w+=vrmpy(v0.ub,r0.b)
2170# CHECK-NEXT: 1900e0a0 { v0.w += vrmpy(v0.ub,r0.b) }
2171
2172//  V6_vrmpybusi
2173//  Vdd32.w=vrmpy(Vuu32.ub,Rt32.b,#u1)
2174    v1:0.w=vrmpy(v1:0.ub,r0.b,#0)
2175# CHECK-NEXT: 1940c080 { v1:0.w = vrmpy(v1:0.ub,r0.b,#0) }
2176
2177//  V6_vrmpybusi_acc
2178//  Vxx32.w+=vrmpy(Vuu32.ub,Rt32.b,#u1)
2179    v1:0.w+=vrmpy(v1:0.ub,r0.b,#0)
2180# CHECK-NEXT: 1940e080 { v1:0.w += vrmpy(v1:0.ub,r0.b,#0) }
2181
2182//  V6_vrmpybusv
2183//  Vd32.w=vrmpy(Vu32.ub,Vv32.b)
2184    v0.w=vrmpy(v0.ub,v0.b)
2185# CHECK-NEXT: 1c00c040 { v0.w = vrmpy(v0.ub,v0.b) }
2186
2187//  V6_vrmpybusv_acc
2188//  Vx32.w+=vrmpy(Vu32.ub,Vv32.b)
2189    v0.w+=vrmpy(v0.ub,v0.b)
2190# CHECK-NEXT: 1c00e040 { v0.w += vrmpy(v0.ub,v0.b) }
2191
2192//  V6_vrmpybv
2193//  Vd32.w=vrmpy(Vu32.b,Vv32.b)
2194    v0.w=vrmpy(v0.b,v0.b)
2195# CHECK-NEXT: 1c00c020 { v0.w = vrmpy(v0.b,v0.b) }
2196
2197//  V6_vrmpybv_acc
2198//  Vx32.w+=vrmpy(Vu32.b,Vv32.b)
2199    v0.w+=vrmpy(v0.b,v0.b)
2200# CHECK-NEXT: 1c00e020 { v0.w += vrmpy(v0.b,v0.b) }
2201
2202//  V6_vrmpyub
2203//  Vd32.uw=vrmpy(Vu32.ub,Rt32.ub)
2204    v0.uw=vrmpy(v0.ub,r0.ub)
2205# CHECK-NEXT: 1900c060 { v0.uw = vrmpy(v0.ub,r0.ub) }
2206
2207//  V6_vrmpyub_acc
2208//  Vx32.uw+=vrmpy(Vu32.ub,Rt32.ub)
2209    v0.uw+=vrmpy(v0.ub,r0.ub)
2210# CHECK-NEXT: 1900e080 { v0.uw += vrmpy(v0.ub,r0.ub) }
2211
2212//  V6_vrmpyubi
2213//  Vdd32.uw=vrmpy(Vuu32.ub,Rt32.ub,#u1)
2214    v1:0.uw=vrmpy(v1:0.ub,r0.ub,#0)
2215# CHECK-NEXT: 19a0c0c0 { v1:0.uw = vrmpy(v1:0.ub,r0.ub,#0) }
2216
2217//  V6_vrmpyubi_acc
2218//  Vxx32.uw+=vrmpy(Vuu32.ub,Rt32.ub,#u1)
2219    v1:0.uw+=vrmpy(v1:0.ub,r0.ub,#0)
2220# CHECK-NEXT: 1960e0c0 { v1:0.uw += vrmpy(v1:0.ub,r0.ub,#0) }
2221
2222//  V6_vrmpyubv
2223//  Vd32.uw=vrmpy(Vu32.ub,Vv32.ub)
2224    v0.uw=vrmpy(v0.ub,v0.ub)
2225# CHECK-NEXT: 1c00c000 { v0.uw = vrmpy(v0.ub,v0.ub) }
2226
2227//  V6_vrmpyubv_acc
2228//  Vx32.uw+=vrmpy(Vu32.ub,Vv32.ub)
2229    v0.uw+=vrmpy(v0.ub,v0.ub)
2230# CHECK-NEXT: 1c00e000 { v0.uw += vrmpy(v0.ub,v0.ub) }
2231
2232//  V6_vrmpyzbb_rt
2233//  Vdddd32.w=vrmpyz(Vu32.b,Rt8.b)
2234    v3:0.w=vrmpyz(v0.b,r0.b)
2235# CHECK-NEXT: 19e8c000 { v3:0.w = vrmpyz(v0.b,r0.b) }
2236
2237//  V6_vrmpyzbb_rt_acc
2238//  Vyyyy32.w+=vrmpyz(Vu32.b,Rt8.b)
2239    v3:0.w+=vrmpyz(v0.b,r0.b)
2240# CHECK-NEXT: 19c0e040 { v3:0.w += vrmpyz(v0.b,r0.b) }
2241
2242//  V6_vrmpyzbb_rx
2243//  Vdddd32.w=vrmpyz(Vu32.b,Rx8.b++)
2244    v3:0.w=vrmpyz(v0.b,r0.b++)
2245# CHECK-NEXT: 19e0c000 { v3:0.w = vrmpyz(v0.b,r0.b++) }
2246
2247//  V6_vrmpyzbb_rx_acc
2248//  Vyyyy32.w+=vrmpyz(Vu32.b,Rx8.b++)
2249    v3:0.w+=vrmpyz(v0.b,r0.b++)
2250# CHECK-NEXT: 19c8e040 { v3:0.w += vrmpyz(v0.b,r0.b++) }
2251
2252//  V6_vrmpyzbub_rt
2253//  Vdddd32.w=vrmpyz(Vu32.b,Rt8.ub)
2254    v3:0.w=vrmpyz(v0.b,r0.ub)
2255# CHECK-NEXT: 19f8c040 { v3:0.w = vrmpyz(v0.b,r0.ub) }
2256
2257//  V6_vrmpyzbub_rt_acc
2258//  Vyyyy32.w+=vrmpyz(Vu32.b,Rt8.ub)
2259    v3:0.w+=vrmpyz(v0.b,r0.ub)
2260# CHECK-NEXT: 19d0e020 { v3:0.w += vrmpyz(v0.b,r0.ub) }
2261
2262//  V6_vrmpyzbub_rx
2263//  Vdddd32.w=vrmpyz(Vu32.b,Rx8.ub++)
2264    v3:0.w=vrmpyz(v0.b,r0.ub++)
2265# CHECK-NEXT: 19f0c040 { v3:0.w = vrmpyz(v0.b,r0.ub++) }
2266
2267//  V6_vrmpyzbub_rx_acc
2268//  Vyyyy32.w+=vrmpyz(Vu32.b,Rx8.ub++)
2269    v3:0.w+=vrmpyz(v0.b,r0.ub++)
2270# CHECK-NEXT: 19d8e020 { v3:0.w += vrmpyz(v0.b,r0.ub++) }
2271
2272//  V6_vrmpyzcb_rt
2273//  Vdddd32.w=vr16mpyz(Vu32.c,Rt8.b)
2274    v3:0.w=vr16mpyz(v0.c,r0.b)
2275# CHECK-NEXT: 19e8c020 { v3:0.w = vr16mpyz(v0.c,r0.b) }
2276
2277//  V6_vrmpyzcb_rt_acc
2278//  Vyyyy32.w+=vr16mpyz(Vu32.c,Rt8.b)
2279    v3:0.w+=vr16mpyz(v0.c,r0.b)
2280# CHECK-NEXT: 19c0e060 { v3:0.w += vr16mpyz(v0.c,r0.b) }
2281
2282//  V6_vrmpyzcb_rx
2283//  Vdddd32.w=vr16mpyz(Vu32.c,Rx8.b++)
2284    v3:0.w=vr16mpyz(v0.c,r0.b++)
2285# CHECK-NEXT: 19e0c020 { v3:0.w = vr16mpyz(v0.c,r0.b++) }
2286
2287//  V6_vrmpyzcb_rx_acc
2288//  Vyyyy32.w+=vr16mpyz(Vu32.c,Rx8.b++)
2289    v3:0.w+=vr16mpyz(v0.c,r0.b++)
2290# CHECK-NEXT: 19c8e060 { v3:0.w += vr16mpyz(v0.c,r0.b++) }
2291
2292//  V6_vrmpyzcbs_rt
2293//  Vdddd32.w=vr16mpyzs(Vu32.c,Rt8.b)
2294    v3:0.w=vr16mpyzs(v0.c,r0.b)
2295# CHECK-NEXT: 19e8c040 { v3:0.w = vr16mpyzs(v0.c,r0.b) }
2296
2297//  V6_vrmpyzcbs_rt_acc
2298//  Vyyyy32.w+=vr16mpyzs(Vu32.c,Rt8.b)
2299    v3:0.w+=vr16mpyzs(v0.c,r0.b)
2300# CHECK-NEXT: 19c0e020 { v3:0.w += vr16mpyzs(v0.c,r0.b) }
2301
2302//  V6_vrmpyzcbs_rx
2303//  Vdddd32.w=vr16mpyzs(Vu32.c,Rx8.b++)
2304    v3:0.w=vr16mpyzs(v0.c,r0.b++)
2305# CHECK-NEXT: 19e0c040 { v3:0.w = vr16mpyzs(v0.c,r0.b++) }
2306
2307//  V6_vrmpyzcbs_rx_acc
2308//  Vyyyy32.w+=vr16mpyzs(Vu32.c,Rx8.b++)
2309    v3:0.w+=vr16mpyzs(v0.c,r0.b++)
2310# CHECK-NEXT: 19c8e020 { v3:0.w += vr16mpyzs(v0.c,r0.b++) }
2311
2312//  V6_vrmpyznb_rt
2313//  Vdddd32.w=vr8mpyz(Vu32.n,Rt8.b)
2314    v3:0.w=vr8mpyz(v0.n,r0.b)
2315# CHECK-NEXT: 19f8c000 { v3:0.w = vr8mpyz(v0.n,r0.b) }
2316
2317//  V6_vrmpyznb_rt_acc
2318//  Vyyyy32.w+=vr8mpyz(Vu32.n,Rt8.b)
2319    v3:0.w+=vr8mpyz(v0.n,r0.b)
2320# CHECK-NEXT: 19d0e040 { v3:0.w += vr8mpyz(v0.n,r0.b) }
2321
2322//  V6_vrmpyznb_rx
2323//  Vdddd32.w=vr8mpyz(Vu32.n,Rx8.b++)
2324    v3:0.w=vr8mpyz(v0.n,r0.b++)
2325# CHECK-NEXT: 19f0c000 { v3:0.w = vr8mpyz(v0.n,r0.b++) }
2326
2327//  V6_vrmpyznb_rx_acc
2328//  Vyyyy32.w+=vr8mpyz(Vu32.n,Rx8.b++)
2329    v3:0.w+=vr8mpyz(v0.n,r0.b++)
2330# CHECK-NEXT: 19d8e040 { v3:0.w += vr8mpyz(v0.n,r0.b++) }
2331
2332//  V6_vror
2333//  Vd32=vror(Vu32,Rt32)
2334    v0=vror(v0,r0)
2335# CHECK-NEXT: 1960c020 { v0 = vror(v0,r0) }
2336
2337//  V6_vrotr
2338//  Vd32.uw=vrotr(Vu32.uw,Vv32.uw)
2339    v0.uw=vrotr(v0.uw,v0.uw)
2340# CHECK-NEXT: 1a80e0e0 { v0.uw = vrotr(v0.uw,v0.uw) }
2341
2342//  V6_vroundhb
2343//  Vd32.b=vround(Vu32.h,Vv32.h):sat
2344    v0.b=vround(v0.h,v0.h):sat
2345# CHECK-NEXT: 1f60c0c0 { v0.b = vround(v0.h,v0.h):sat }
2346
2347//  V6_vroundhub
2348//  Vd32.ub=vround(Vu32.h,Vv32.h):sat
2349    v0.ub=vround(v0.h,v0.h):sat
2350# CHECK-NEXT: 1f60c0e0 { v0.ub = vround(v0.h,v0.h):sat }
2351
2352//  V6_vrounduhub
2353//  Vd32.ub=vround(Vu32.uh,Vv32.uh):sat
2354    v0.ub=vround(v0.uh,v0.uh):sat
2355# CHECK-NEXT: 1fe0c060 { v0.ub = vround(v0.uh,v0.uh):sat }
2356
2357//  V6_vrounduwuh
2358//  Vd32.uh=vround(Vu32.uw,Vv32.uw):sat
2359    v0.uh=vround(v0.uw,v0.uw):sat
2360# CHECK-NEXT: 1fe0c080 { v0.uh = vround(v0.uw,v0.uw):sat }
2361
2362//  V6_vroundwh
2363//  Vd32.h=vround(Vu32.w,Vv32.w):sat
2364    v0.h=vround(v0.w,v0.w):sat
2365# CHECK-NEXT: 1f60c080 { v0.h = vround(v0.w,v0.w):sat }
2366
2367//  V6_vroundwuh
2368//  Vd32.uh=vround(Vu32.w,Vv32.w):sat
2369    v0.uh=vround(v0.w,v0.w):sat
2370# CHECK-NEXT: 1f60c0a0 { v0.uh = vround(v0.w,v0.w):sat }
2371
2372//  V6_vrsadubi
2373//  Vdd32.uw=vrsad(Vuu32.ub,Rt32.ub,#u1)
2374    v1:0.uw=vrsad(v1:0.ub,r0.ub,#0)
2375# CHECK-NEXT: 1940c0c0 { v1:0.uw = vrsad(v1:0.ub,r0.ub,#0) }
2376
2377//  V6_vrsadubi_acc
2378//  Vxx32.uw+=vrsad(Vuu32.ub,Rt32.ub,#u1)
2379    v1:0.uw+=vrsad(v1:0.ub,r0.ub,#0)
2380# CHECK-NEXT: 1940e0c0 { v1:0.uw += vrsad(v1:0.ub,r0.ub,#0) }
2381
2382//  V6_vsatdw
2383//  Vd32.w=vsatdw(Vu32.w,Vv32.w)
2384    v0.w=vsatdw(v0.w,v0.w)
2385# CHECK-NEXT: 1d80e0e0 { v0.w = vsatdw(v0.w,v0.w) }
2386
2387//  V6_vsathub
2388//  Vd32.ub=vsat(Vu32.h,Vv32.h)
2389    v0.ub=vsat(v0.h,v0.h)
2390# CHECK-NEXT: 1f60c040 { v0.ub = vsat(v0.h,v0.h) }
2391
2392//  V6_vsatuwuh
2393//  Vd32.uh=vsat(Vu32.uw,Vv32.uw)
2394    v0.uh=vsat(v0.uw,v0.uw)
2395# CHECK-NEXT: 1f20c0c0 { v0.uh = vsat(v0.uw,v0.uw) }
2396
2397//  V6_vsatwh
2398//  Vd32.h=vsat(Vu32.w,Vv32.w)
2399    v0.h=vsat(v0.w,v0.w)
2400# CHECK-NEXT: 1f60c060 { v0.h = vsat(v0.w,v0.w) }
2401
2402//  V6_vsb
2403//  Vdd32.h=vsxt(Vu32.b)
2404    v1:0.h=vsxt(v0.b)
2405# CHECK-NEXT: 1e02c060 { v1:0.h = vsxt(v0.b) }
2406
2407//  V6_vscattermh
2408//  vscatter(Rt32,Mu2,Vv32.h).h=Vw32
2409    vscatter(r0,m0,v0.h).h=v0
2410# CHECK-NEXT: 2f20c020 { vscatter(r0,m0,v0.h).h = v0 }
2411
2412//  V6_vscattermh_add
2413//  vscatter(Rt32,Mu2,Vv32.h).h+=Vw32
2414    vscatter(r0,m0,v0.h).h+=v0
2415# CHECK-NEXT: 2f20c0a0 { vscatter(r0,m0,v0.h).h += v0 }
2416
2417//  V6_vscattermhq
2418//  if (Qs4) vscatter(Rt32,Mu2,Vv32.h).h=Vw32
2419    if (q0) vscatter(r0,m0,v0.h).h=v0
2420# CHECK-NEXT: 2f80c080 { if (q0) vscatter(r0,m0,v0.h).h = v0 }
2421
2422//  V6_vscattermhw
2423//  vscatter(Rt32,Mu2,Vvv32.w).h=Vw32
2424    vscatter(r0,m0,v1:0.w).h=v0
2425# CHECK-NEXT: 2f20c040 { vscatter(r0,m0,v1:0.w).h = v0 }
2426
2427//  V6_vscattermhw_add
2428//  vscatter(Rt32,Mu2,Vvv32.w).h+=Vw32
2429    vscatter(r0,m0,v1:0.w).h+=v0
2430# CHECK-NEXT: 2f20c0c0 { vscatter(r0,m0,v1:0.w).h += v0 }
2431
2432//  V6_vscattermhwq
2433//  if (Qs4) vscatter(Rt32,Mu2,Vvv32.w).h=Vw32
2434    if (q0) vscatter(r0,m0,v1:0.w).h=v0
2435# CHECK-NEXT: 2fa0c000 { if (q0) vscatter(r0,m0,v1:0.w).h = v0 }
2436
2437//  V6_vscattermw
2438//  vscatter(Rt32,Mu2,Vv32.w).w=Vw32
2439    vscatter(r0,m0,v0.w).w=v0
2440# CHECK-NEXT: 2f20c000 { vscatter(r0,m0,v0.w).w = v0 }
2441
2442//  V6_vscattermw_add
2443//  vscatter(Rt32,Mu2,Vv32.w).w+=Vw32
2444    vscatter(r0,m0,v0.w).w+=v0
2445# CHECK-NEXT: 2f20c080 { vscatter(r0,m0,v0.w).w += v0 }
2446
2447//  V6_vscattermwq
2448//  if (Qs4) vscatter(Rt32,Mu2,Vv32.w).w=Vw32
2449    if (q0) vscatter(r0,m0,v0.w).w=v0
2450# CHECK-NEXT: 2f80c000 { if (q0) vscatter(r0,m0,v0.w).w = v0 }
2451
2452//  V6_vsh
2453//  Vdd32.w=vsxt(Vu32.h)
2454    v1:0.w=vsxt(v0.h)
2455# CHECK-NEXT: 1e02c080 { v1:0.w = vsxt(v0.h) }
2456
2457//  V6_vshufeh
2458//  Vd32.h=vshuffe(Vu32.h,Vv32.h)
2459    v0.h=vshuffe(v0.h,v0.h)
2460# CHECK-NEXT: 1f40c060 { v0.h = vshuffe(v0.h,v0.h) }
2461
2462//  V6_vshuff
2463//  vshuff(Vy32,Vx32,Rt32)
2464    vshuff(v0,v0,r0)
2465# CHECK-NEXT: 19e0e020 { vshuff(v0,v0,r0) }
2466
2467//  V6_vshuffb
2468//  Vd32.b=vshuff(Vu32.b)
2469    v0.b=vshuff(v0.b)
2470# CHECK-NEXT: 1e02c000 { v0.b = vshuff(v0.b) }
2471
2472//  V6_vshuffeb
2473//  Vd32.b=vshuffe(Vu32.b,Vv32.b)
2474    v0.b=vshuffe(v0.b,v0.b)
2475# CHECK-NEXT: 1f40c020 { v0.b = vshuffe(v0.b,v0.b) }
2476
2477//  V6_vshuffh
2478//  Vd32.h=vshuff(Vu32.h)
2479    v0.h=vshuff(v0.h)
2480# CHECK-NEXT: 1e01c0e0 { v0.h = vshuff(v0.h) }
2481
2482//  V6_vshuffob
2483//  Vd32.b=vshuffo(Vu32.b,Vv32.b)
2484    v0.b=vshuffo(v0.b,v0.b)
2485# CHECK-NEXT: 1f40c040 { v0.b = vshuffo(v0.b,v0.b) }
2486
2487//  V6_vshuffvdd
2488//  Vdd32=vshuff(Vu32,Vv32,Rt8)
2489    v1:0=vshuff(v0,v0,r0)
2490# CHECK-NEXT: 1b00e060 { v1:0 = vshuff(v0,v0,r0) }
2491
2492//  V6_vshufoeb
2493//  Vdd32.b=vshuffoe(Vu32.b,Vv32.b)
2494    v1:0.b=vshuffoe(v0.b,v0.b)
2495# CHECK-NEXT: 1f40c0c0 { v1:0.b = vshuffoe(v0.b,v0.b) }
2496
2497//  V6_vshufoeh
2498//  Vdd32.h=vshuffoe(Vu32.h,Vv32.h)
2499    v1:0.h=vshuffoe(v0.h,v0.h)
2500# CHECK-NEXT: 1f40c0a0 { v1:0.h = vshuffoe(v0.h,v0.h) }
2501
2502//  V6_vshufoh
2503//  Vd32.h=vshuffo(Vu32.h,Vv32.h)
2504    v0.h=vshuffo(v0.h,v0.h)
2505# CHECK-NEXT: 1f40c080 { v0.h = vshuffo(v0.h,v0.h) }
2506
2507//  V6_vsubb
2508//  Vd32.b=vsub(Vu32.b,Vv32.b)
2509    v0.b=vsub(v0.b,v0.b)
2510# CHECK-NEXT: 1c40c0a0 { v0.b = vsub(v0.b,v0.b) }
2511
2512//  V6_vsubb_dv
2513//  Vdd32.b=vsub(Vuu32.b,Vvv32.b)
2514    v1:0.b=vsub(v1:0.b,v1:0.b)
2515# CHECK-NEXT: 1c80c060 { v1:0.b = vsub(v1:0.b,v1:0.b) }
2516
2517//  V6_vsubbnq
2518//  if (!Qv4) Vx32.b-=Vu32.b
2519    if (!q0) v0.b-=v0.b
2520# CHECK-NEXT: 1e02e020 { if (!q0) v0.b -= v0.b }
2521
2522//  V6_vsubbq
2523//  if (Qv4) Vx32.b-=Vu32.b
2524    if (q0) v0.b-=v0.b
2525# CHECK-NEXT: 1e01e0c0 { if (q0) v0.b -= v0.b }
2526
2527//  V6_vsubbsat
2528//  Vd32.b=vsub(Vu32.b,Vv32.b):sat
2529    v0.b=vsub(v0.b,v0.b):sat
2530# CHECK-NEXT: 1f20c040 { v0.b = vsub(v0.b,v0.b):sat }
2531
2532//  V6_vsubbsat_dv
2533//  Vdd32.b=vsub(Vuu32.b,Vvv32.b):sat
2534    v1:0.b=vsub(v1:0.b,v1:0.b):sat
2535# CHECK-NEXT: 1ea0c020 { v1:0.b = vsub(v1:0.b,v1:0.b):sat }
2536
2537//  V6_vsubcarry
2538//  Vd32.w=vsub(Vu32.w,Vv32.w,Qx4):carry
2539    v0.w=vsub(v0.w,v0.w,q0):carry
2540# CHECK-NEXT: 1ca0e080 { v0.w = vsub(v0.w,v0.w,q0):carry }
2541
2542//  V6_vsubcarryo
2543//  Vd32.w,Qe4=vsub(Vu32.w,Vv32.w):carry
2544    v0.w,q0=vsub(v0.w,v0.w):carry
2545# CHECK-NEXT: 1da0e080 { v0.w,q0 = vsub(v0.w,v0.w):carry }
2546
2547//  V6_vsubh
2548//  Vd32.h=vsub(Vu32.h,Vv32.h)
2549    v0.h=vsub(v0.h,v0.h)
2550# CHECK-NEXT: 1c40c0c0 { v0.h = vsub(v0.h,v0.h) }
2551
2552//  V6_vsubh_dv
2553//  Vdd32.h=vsub(Vuu32.h,Vvv32.h)
2554    v1:0.h=vsub(v1:0.h,v1:0.h)
2555# CHECK-NEXT: 1c80c080 { v1:0.h = vsub(v1:0.h,v1:0.h) }
2556
2557//  V6_vsubhnq
2558//  if (!Qv4) Vx32.h-=Vu32.h
2559    if (!q0) v0.h-=v0.h
2560# CHECK-NEXT: 1e02e040 { if (!q0) v0.h -= v0.h }
2561
2562//  V6_vsubhq
2563//  if (Qv4) Vx32.h-=Vu32.h
2564    if (q0) v0.h-=v0.h
2565# CHECK-NEXT: 1e01e0e0 { if (q0) v0.h -= v0.h }
2566
2567//  V6_vsubhsat
2568//  Vd32.h=vsub(Vu32.h,Vv32.h):sat
2569    v0.h=vsub(v0.h,v0.h):sat
2570# CHECK-NEXT: 1c60c040 { v0.h = vsub(v0.h,v0.h):sat }
2571
2572//  V6_vsubhsat_dv
2573//  Vdd32.h=vsub(Vuu32.h,Vvv32.h):sat
2574    v1:0.h=vsub(v1:0.h,v1:0.h):sat
2575# CHECK-NEXT: 1ca0c000 { v1:0.h = vsub(v1:0.h,v1:0.h):sat }
2576
2577//  V6_vsubhw
2578//  Vdd32.w=vsub(Vu32.h,Vv32.h)
2579    v1:0.w=vsub(v0.h,v0.h)
2580# CHECK-NEXT: 1ca0c0e0 { v1:0.w = vsub(v0.h,v0.h) }
2581
2582//  V6_vsububh
2583//  Vdd32.h=vsub(Vu32.ub,Vv32.ub)
2584    v1:0.h=vsub(v0.ub,v0.ub)
2585# CHECK-NEXT: 1ca0c0a0 { v1:0.h = vsub(v0.ub,v0.ub) }
2586
2587//  V6_vsububsat
2588//  Vd32.ub=vsub(Vu32.ub,Vv32.ub):sat
2589    v0.ub=vsub(v0.ub,v0.ub):sat
2590# CHECK-NEXT: 1c60c000 { v0.ub = vsub(v0.ub,v0.ub):sat }
2591
2592//  V6_vsububsat_dv
2593//  Vdd32.ub=vsub(Vuu32.ub,Vvv32.ub):sat
2594    v1:0.ub=vsub(v1:0.ub,v1:0.ub):sat
2595# CHECK-NEXT: 1c80c0c0 { v1:0.ub = vsub(v1:0.ub,v1:0.ub):sat }
2596
2597//  V6_vsubububb_sat
2598//  Vd32.ub=vsub(Vu32.ub,Vv32.b):sat
2599    v0.ub=vsub(v0.ub,v0.b):sat
2600# CHECK-NEXT: 1ea0c0a0 { v0.ub = vsub(v0.ub,v0.b):sat }
2601
2602//  V6_vsubuhsat
2603//  Vd32.uh=vsub(Vu32.uh,Vv32.uh):sat
2604    v0.uh=vsub(v0.uh,v0.uh):sat
2605# CHECK-NEXT: 1c60c020 { v0.uh = vsub(v0.uh,v0.uh):sat }
2606
2607//  V6_vsubuhsat_dv
2608//  Vdd32.uh=vsub(Vuu32.uh,Vvv32.uh):sat
2609    v1:0.uh=vsub(v1:0.uh,v1:0.uh):sat
2610# CHECK-NEXT: 1c80c0e0 { v1:0.uh = vsub(v1:0.uh,v1:0.uh):sat }
2611
2612//  V6_vsubuhw
2613//  Vdd32.w=vsub(Vu32.uh,Vv32.uh)
2614    v1:0.w=vsub(v0.uh,v0.uh)
2615# CHECK-NEXT: 1ca0c0c0 { v1:0.w = vsub(v0.uh,v0.uh) }
2616
2617//  V6_vsubuwsat
2618//  Vd32.uw=vsub(Vu32.uw,Vv32.uw):sat
2619    v0.uw=vsub(v0.uw,v0.uw):sat
2620# CHECK-NEXT: 1fc0c080 { v0.uw = vsub(v0.uw,v0.uw):sat }
2621
2622//  V6_vsubuwsat_dv
2623//  Vdd32.uw=vsub(Vuu32.uw,Vvv32.uw):sat
2624    v1:0.uw=vsub(v1:0.uw,v1:0.uw):sat
2625# CHECK-NEXT: 1ea0c060 { v1:0.uw = vsub(v1:0.uw,v1:0.uw):sat }
2626
2627//  V6_vsubw
2628//  Vd32.w=vsub(Vu32.w,Vv32.w)
2629    v0.w=vsub(v0.w,v0.w)
2630# CHECK-NEXT: 1c40c0e0 { v0.w = vsub(v0.w,v0.w) }
2631
2632//  V6_vsubw_dv
2633//  Vdd32.w=vsub(Vuu32.w,Vvv32.w)
2634    v1:0.w=vsub(v1:0.w,v1:0.w)
2635# CHECK-NEXT: 1c80c0a0 { v1:0.w = vsub(v1:0.w,v1:0.w) }
2636
2637//  V6_vsubwnq
2638//  if (!Qv4) Vx32.w-=Vu32.w
2639    if (!q0) v0.w-=v0.w
2640# CHECK-NEXT: 1e02e060 { if (!q0) v0.w -= v0.w }
2641
2642//  V6_vsubwq
2643//  if (Qv4) Vx32.w-=Vu32.w
2644    if (q0) v0.w-=v0.w
2645# CHECK-NEXT: 1e02e000 { if (q0) v0.w -= v0.w }
2646
2647//  V6_vsubwsat
2648//  Vd32.w=vsub(Vu32.w,Vv32.w):sat
2649    v0.w=vsub(v0.w,v0.w):sat
2650# CHECK-NEXT: 1c60c060 { v0.w = vsub(v0.w,v0.w):sat }
2651
2652//  V6_vsubwsat_dv
2653//  Vdd32.w=vsub(Vuu32.w,Vvv32.w):sat
2654    v1:0.w=vsub(v1:0.w,v1:0.w):sat
2655# CHECK-NEXT: 1ca0c020 { v1:0.w = vsub(v1:0.w,v1:0.w):sat }
2656
2657//  V6_vswap
2658//  Vdd32=vswap(Qt4,Vu32,Vv32)
2659    v1:0=vswap(q0,v0,v0)
2660# CHECK-NEXT: 1ea0e000 { v1:0 = vswap(q0,v0,v0) }
2661
2662//  V6_vtmpyb
2663//  Vdd32.h=vtmpy(Vuu32.b,Rt32.b)
2664    v1:0.h=vtmpy(v1:0.b,r0.b)
2665# CHECK-NEXT: 1900c000 { v1:0.h = vtmpy(v1:0.b,r0.b) }
2666
2667//  V6_vtmpyb_acc
2668//  Vxx32.h+=vtmpy(Vuu32.b,Rt32.b)
2669    v1:0.h+=vtmpy(v1:0.b,r0.b)
2670# CHECK-NEXT: 1900e000 { v1:0.h += vtmpy(v1:0.b,r0.b) }
2671
2672//  V6_vtmpybus
2673//  Vdd32.h=vtmpy(Vuu32.ub,Rt32.b)
2674    v1:0.h=vtmpy(v1:0.ub,r0.b)
2675# CHECK-NEXT: 1900c020 { v1:0.h = vtmpy(v1:0.ub,r0.b) }
2676
2677//  V6_vtmpybus_acc
2678//  Vxx32.h+=vtmpy(Vuu32.ub,Rt32.b)
2679    v1:0.h+=vtmpy(v1:0.ub,r0.b)
2680# CHECK-NEXT: 1900e020 { v1:0.h += vtmpy(v1:0.ub,r0.b) }
2681
2682//  V6_vtmpyhb
2683//  Vdd32.w=vtmpy(Vuu32.h,Rt32.b)
2684    v1:0.w=vtmpy(v1:0.h,r0.b)
2685# CHECK-NEXT: 19a0c080 { v1:0.w = vtmpy(v1:0.h,r0.b) }
2686
2687//  V6_vtmpyhb_acc
2688//  Vxx32.w+=vtmpy(Vuu32.h,Rt32.b)
2689    v1:0.w+=vtmpy(v1:0.h,r0.b)
2690# CHECK-NEXT: 1900e040 { v1:0.w += vtmpy(v1:0.h,r0.b) }
2691
2692//  V6_vunpackb
2693//  Vdd32.h=vunpack(Vu32.b)
2694    v1:0.h=vunpack(v0.b)
2695# CHECK-NEXT: 1e01c040 { v1:0.h = vunpack(v0.b) }
2696
2697//  V6_vunpackh
2698//  Vdd32.w=vunpack(Vu32.h)
2699    v1:0.w=vunpack(v0.h)
2700# CHECK-NEXT: 1e01c060 { v1:0.w = vunpack(v0.h) }
2701
2702//  V6_vunpackob
2703//  Vxx32.h|=vunpacko(Vu32.b)
2704    v1:0.h|=vunpacko(v0.b)
2705# CHECK-NEXT: 1e00e000 { v1:0.h |= vunpacko(v0.b) }
2706
2707//  V6_vunpackoh
2708//  Vxx32.w|=vunpacko(Vu32.h)
2709    v1:0.w|=vunpacko(v0.h)
2710# CHECK-NEXT: 1e00e020 { v1:0.w |= vunpacko(v0.h) }
2711
2712//  V6_vunpackub
2713//  Vdd32.uh=vunpack(Vu32.ub)
2714    v1:0.uh=vunpack(v0.ub)
2715# CHECK-NEXT: 1e01c000 { v1:0.uh = vunpack(v0.ub) }
2716
2717//  V6_vunpackuh
2718//  Vdd32.uw=vunpack(Vu32.uh)
2719    v1:0.uw=vunpack(v0.uh)
2720# CHECK-NEXT: 1e01c020 { v1:0.uw = vunpack(v0.uh) }
2721
2722//  V6_vwhist128
2723//  vwhist128
2724    vwhist128
2725# CHECK-NEXT: 1e00e480 { vwhist128 }
2726
2727//  V6_vwhist128m
2728//  vwhist128(#u1)
2729    vwhist128(#0)
2730# CHECK-NEXT: 1e00e680 { vwhist128(#0) }
2731
2732//  V6_vwhist128q
2733//  vwhist128(Qv4)
2734    vwhist128(q0)
2735# CHECK-NEXT: 1e02e480 { vwhist128(q0) }
2736
2737//  V6_vwhist128qm
2738//  vwhist128(Qv4,#u1)
2739    vwhist128(q0,#0)
2740# CHECK-NEXT: 1e02e680 { vwhist128(q0,#0) }
2741
2742//  V6_vwhist256
2743//  vwhist256
2744    vwhist256
2745# CHECK-NEXT: 1e00e280 { vwhist256 }
2746
2747//  V6_vwhist256_sat
2748//  vwhist256:sat
2749    vwhist256:sat
2750# CHECK-NEXT: 1e00e380 { vwhist256:sat }
2751
2752//  V6_vwhist256q
2753//  vwhist256(Qv4)
2754    vwhist256(q0)
2755# CHECK-NEXT: 1e02e280 { vwhist256(q0) }
2756
2757//  V6_vwhist256q_sat
2758//  vwhist256(Qv4):sat
2759    vwhist256(q0):sat
2760# CHECK-NEXT: 1e02e380 { vwhist256(q0):sat }
2761
2762//  V6_vxor
2763//  Vd32=vxor(Vu32,Vv32)
2764    v0=vxor(v0,v0)
2765# CHECK-NEXT: 1c20c0e0 { v0 = vxor(v0,v0) }
2766
2767//  V6_vzb
2768//  Vdd32.uh=vzxt(Vu32.ub)
2769    v1:0.uh=vzxt(v0.ub)
2770# CHECK-NEXT: 1e02c020 { v1:0.uh = vzxt(v0.ub) }
2771
2772//  V6_vzh
2773//  Vdd32.uw=vzxt(Vu32.uh)
2774    v1:0.uw=vzxt(v0.uh)
2775# CHECK-NEXT: 1e02c040 { v1:0.uw = vzxt(v0.uh) }
2776
2777//  V6_zLd_ai
2778//  z=vmem(Rt32+#s4)
2779    z=vmem(r0+#0)
2780# CHECK-NEXT: 2c00c000 { z = vmem(r0+#0) }
2781
2782//  V6_zLd_pi
2783//  z=vmem(Rx32++#s3)
2784    z=vmem(r0++#0)
2785# CHECK-NEXT: 2d00c000 { z = vmem(r0++#0) }
2786
2787//  V6_zLd_ppu
2788//  z=vmem(Rx32++Mu2)
2789    z=vmem(r0++m0)
2790# CHECK-NEXT: 2d00c001 { z = vmem(r0++m0) }
2791
2792//  V6_zLd_pred_ai
2793//  if (Pv4) z=vmem(Rt32+#s4)
2794    if (p0) z=vmem(r0+#0)
2795# CHECK-NEXT: 2c80c000 { if (p0) z = vmem(r0+#0) }
2796
2797//  V6_zLd_pred_pi
2798//  if (Pv4) z=vmem(Rx32++#s3)
2799    if (p0) z=vmem(r0++#0)
2800# CHECK-NEXT: 2d80c000 { if (p0) z = vmem(r0++#0) }
2801
2802//  V6_zLd_pred_ppu
2803//  if (Pv4) z=vmem(Rx32++Mu2)
2804    if (p0) z=vmem(r0++m0)
2805# CHECK-NEXT: 2d80c001 { if (p0) z = vmem(r0++m0) }
2806
2807//  V6_zextract
2808//  Vd32=zextract(Rt32)
2809    v0=zextract(r0)
2810# CHECK-NEXT: 19a0c120 { v0 = zextract(r0) }
2811