[InstCombine] Signed saturation patterns
[llvm-core.git] / test / MC / Hexagon / v62_all.s
blob79e30982e96d1696b05ec05be2bb8ae16eaa16da
1 # RUN: llvm-mc -arch=hexagon -mcpu=hexagonv62 -filetype=obj -mhvx %s | llvm-objdump -arch=hexagon -mcpu=hexagonv62 -mhvx -d - | FileCheck %s
3 // V6_lvsplatb
4 // Vd32.b=vsplat(Rt32)
5 V0.b=vsplat(R0)
6 # CHECK: 19c0c040 { v0.b = vsplat(r0) }
8 // V6_lvsplath
9 // Vd32.h=vsplat(Rt32)
10 V0.h=vsplat(R0)
11 # CHECK: 19c0c020 { v0.h = vsplat(r0) }
13 // V6_pred_scalar2v2
14 // Qd4=vsetq2(Rt32)
15 Q0=vsetq2(R0)
16 # CHECK: 19a0c04c { q0 = vsetq2(r0) }
18 // V6_shuffeqh
19 // Qd4.b=vshuffe(Qs4.h,Qt4.h)
20 Q0.b=vshuffe(Q0.h,Q0.h)
21 # CHECK: 1e03c018 { q0.b = vshuffe(q0.h,q0.h) }
23 // V6_shuffeqw
24 // Qd4.h=vshuffe(Qs4.w,Qt4.w)
25 Q0.h=vshuffe(Q0.w,Q0.w)
26 # CHECK: 1e03c01c { q0.h = vshuffe(q0.w,q0.w) }
28 // V6_vaddbsat
29 // Vd32.b=vadd(Vu32.b,Vv32.b):sat
30 V0.b=vadd(V0.b,V0.b):sat
31 # CHECK: 1f00c000 { v0.b = vadd(v0.b,v0.b):sat }
33 // V6_vaddbsat_dv
34 // Vdd32.b=vadd(Vuu32.b,Vvv32.b):sat
35 V1:0.b=vadd(V1:0.b,V1:0.b):sat
36 # CHECK: 1ea0c000 { v1:0.b = vadd(v1:0.b,v1:0.b):sat }
38 // V6_vaddcarry
39 // Vd32.w=vadd(Vu32.w,Vv32.w,Qx4):carry
40 V0.w=vadd(V0.w,V0.w,Q0):carry
41 # CHECK: 1ca0e000 { v0.w = vadd(v0.w,v0.w,q0):carry }
43 // V6_vaddclbh
44 // $Vd.h=vadd(vclb($Vu.h),$Vv.h)
45 V0.h=vadd(vclb(V0.h),V0.h)
46 # CHECK: 1f00e000 { v0.h = vadd(vclb(v0.h),v0.h) }
48 // V6_vaddclbw
49 // $Vd.w=vadd(vclb($Vu.w),$Vv.w)
50 V0.w=vadd(vclb(V0.w),V0.w)
51 # CHECK: 1f00e020 { v0.w = vadd(vclb(v0.w),v0.w) }
53 // V6_vaddhw_acc
54 // Vxx32.w+=vadd(Vu32.h,Vv32.h)
55 V1:0.w+=vadd(V0.h,V0.h)
56 # CHECK: 1c20e040 { v1:0.w += vadd(v0.h,v0.h) }
58 // V6_vaddubh_acc
59 // Vxx32.h+=vadd(Vu32.ub,Vv32.ub)
60 V1:0.h+=vadd(V0.ub,V0.ub)
61 # CHECK: 1c40e0a0 { v1:0.h += vadd(v0.ub,v0.ub) }
63 // V6_vaddububb_sat
64 // Vd32.ub=vadd(Vu32.ub,Vv32.b):sat
65 V0.ub=vadd(V0.ub,V0.b):sat
66 # CHECK: 1ea0c080 { v0.ub = vadd(v0.ub,v0.b):sat }
68 // V6_vadduhw_acc
69 // Vxx32.w+=vadd(Vu32.uh,Vv32.uh)
70 V1:0.w+=vadd(V0.uh,V0.uh)
71 # CHECK: 1c40e080 { v1:0.w += vadd(v0.uh,v0.uh) }
73 // V6_vadduwsat
74 // Vd32.uw=vadd(Vu32.uw,Vv32.uw):sat
75 V0.uw=vadd(V0.uw,V0.uw):sat
76 # CHECK: 1f60c020 { v0.uw = vadd(v0.uw,v0.uw):sat }
78 // V6_vadduwsat_dv
79 // Vdd32.uw=vadd(Vuu32.uw,Vvv32.uw):sat
80 V1:0.uw=vadd(V1:0.uw,V1:0.uw):sat
81 # CHECK: 1ea0c040 { v1:0.uw = vadd(v1:0.uw,v1:0.uw):sat }
83 // V6_vandnqrt
84 // Vd32=vand(!Qu4,Rt32)
85 V0=vand(!Q0,R0)
86 # CHECK: 19a0c4a0 { v0 = vand(!q0,r0) }
88 // V6_vandnqrt_acc
89 // Vx32|=vand(!Qu4,Rt32)
90 V0|=vand(!Q0,R0)
91 # CHECK: 1960e460 { v0 |= vand(!q0,r0) }
93 // V6_vandvnqv
94 // Vd32=vand(!Qv4,Vu32)
95 V0=vand(!Q0,V0)
96 # CHECK: 1e03e020 { v0 = vand(!q0,v0) }
98 // V6_vandvqv
99 // Vd32=vand(Qv4,Vu32)
100 V0=vand(Q0,V0)
101 # CHECK: 1e03e000 { v0 = vand(q0,v0) }
103 // V6_vasrhbsat
104 // Vd32.b=vasr(Vu32.h,Vv32.h,Rt8):sat
105 V0.b=vasr(V0.h,V0.h,R0):sat
106 # CHECK: 1800c000 { v0.b = vasr(v0.h,v0.h,r0):sat }
108 // V6_vasruwuhrndsat
109 // Vd32.uh=vasr(Vu32.uw,Vv32.uw,Rt8):rnd:sat
110 V0.uh=vasr(V0.uw,V0.uw,R0):rnd:sat
111 # CHECK: 1800c020 { v0.uh = vasr(v0.uw,v0.uw,r0):rnd:sat }
113 // V6_vasrwuhrndsat
114 // Vd32.uh=vasr(Vu32.w,Vv32.w,Rt8):rnd:sat
115 V0.uh=vasr(V0.w,V0.w,R0):rnd:sat
116 # CHECK: 1800c040 { v0.uh = vasr(v0.w,v0.w,r0):rnd:sat }
118 // V6_vL32b_cur_npred_ai
119 // if (!Pv4) Vd32.cur=vmem(Rt32+#s4)
121 v1=v0
122 if (!P0) V0.cur=vmem(R0+#04)
124 # CHECK: 1e0360e1 { v1 = v0
125 # CHECK: 2880c4a0 if (!p0) v0.cur = vmem(r0+#4) }
127 // V6_vL32b_cur_npred_pi
128 // if (!Pv4) Vd32.cur=vmem(Rx32++#s3)
130 v1=v0
131 if (!P0) V0.cur=vmem(R0++#03)
133 # CHECK: 1e0360e1 { v1 = v0
134 # CHECK: 2980c3a0 if (!p0) v0.cur = vmem(r0++#3) }
136 // V6_vL32b_cur_npred_ppu
137 // if (!Pv4) Vd32.cur=vmem(Rx32++Mu2)
139 v1=v0
140 if (!P0) V0.cur=vmem(R0++M0)
142 # CHECK: 1e0360e1 { v1 = v0
143 # CHECK: 2b80c0a0 if (!p0) v0.cur = vmem(r0++m0) }
145 // V6_vL32b_cur_pred_ai
146 // if (Pv4) Vd32.cur=vmem(Rt32+#s4)
148 v1=v0
149 if (P0) V0.cur=vmem(R0+#04)
151 # CHECK: 1e0360e1 { v1 = v0
152 # CHECK: 2880c480 if (p0) v0.cur = vmem(r0+#4) }
154 // V6_vL32b_cur_pred_pi
155 // if (Pv4) Vd32.cur=vmem(Rx32++#s3)
157 v1=v0
158 if (P0) V0.cur=vmem(R0++#03)
160 # CHECK: 1e0360e1 { v1 = v0
161 # CHECK: 2980c380 if (p0) v0.cur = vmem(r0++#3) }
163 // V6_vL32b_cur_pred_ppu
164 // if (Pv4) Vd32.cur=vmem(Rx32++Mu2)
166 v1=v0
167 if (P0) V0.cur=vmem(R0++M0)
169 # CHECK: 1e0360e1 { v1 = v0
170 # CHECK: 2b80c080 if (p0) v0.cur = vmem(r0++m0) }
172 // V6_vL32b_npred_ai
173 // if (!Pv4) Vd32=vmem(Rt32+#s4)
174 if (!P0) V0=vmem(R0+#04)
175 # CHECK: 2880c460 { if (!p0) v0 = vmem(r0+#4) }
177 // V6_vL32b_npred_pi
178 // if (!Pv4) Vd32=vmem(Rx32++#s3)
179 if (!P0) V0=vmem(R0++#03)
180 # CHECK: 2980c360 { if (!p0) v0 = vmem(r0++#3) }
182 // V6_vL32b_npred_ppu
183 // if (!Pv4) Vd32=vmem(Rx32++Mu2)
184 if (!P0) V0=vmem(R0++M0)
185 # CHECK: 2b80c060 { if (!p0) v0 = vmem(r0++m0) }
187 // V6_vL32b_nt_cur_npred_ai
188 // if (!Pv4) Vd32.cur=vmem(Rt32+#s4):nt
190 v1=v0
191 if (!P0) V0.cur=vmem(R0+#04):nt
193 # CHECK: 1e0360e1 { v1 = v0
194 # CHECK: 28c0c4a0 if (!p0) v0.cur = vmem(r0+#4):nt }
196 // V6_vL32b_nt_cur_npred_pi
197 // if (!Pv4) Vd32.cur=vmem(Rx32++#s3):nt
199 v1=v0
200 if (!P0) V0.cur=vmem(R0++#03):nt
202 # CHECK: 1e0360e1 { v1 = v0
203 # CHECK: 29c0c3a0 if (!p0) v0.cur = vmem(r0++#3):nt }
205 // V6_vL32b_nt_cur_npred_ppu
206 // if (!Pv4) Vd32.cur=vmem(Rx32++Mu2):nt
208 v1=v0
209 if (!P0) V0.cur=vmem(R0++M0):nt
211 # CHECK: 1e0360e1 { v1 = v0
212 # CHECK: 2bc0c0a0 if (!p0) v0.cur = vmem(r0++m0):nt }
214 // V6_vL32b_nt_cur_pred_ai
215 // if (Pv4) Vd32.cur=vmem(Rt32+#s4):nt
217 v1=v0
218 if (P0) V0.cur=vmem(R0+#04):nt
220 # CHECK: 1e0360e1 { v1 = v0
221 # CHECK: 28c0c480 if (p0) v0.cur = vmem(r0+#4):nt }
223 // V6_vL32b_nt_cur_pred_pi
224 // if (Pv4) Vd32.cur=vmem(Rx32++#s3):nt
226 v1=v0
227 if (P0) V0.cur=vmem(R0++#03):nt
229 # CHECK: 1e0360e1 { v1 = v0
230 # CHECK: 29c0c380 if (p0) v0.cur = vmem(r0++#3):nt }
232 // V6_vL32b_nt_cur_pred_ppu
233 // if (Pv4) Vd32.cur=vmem(Rx32++Mu2):nt
235 v1=v0
236 if (P0) V0.cur=vmem(R0++M0):nt
238 # CHECK: 1e0360e1 { v1 = v0
239 # CHECK: 2bc0c080 if (p0) v0.cur = vmem(r0++m0):nt }
241 // V6_vL32b_nt_npred_ai
242 // if (!Pv4) Vd32=vmem(Rt32+#s4):nt
243 if (!P0) V0=vmem(R0+#04):nt
244 # CHECK: 28c0c460 { if (!p0) v0 = vmem(r0+#4):nt }
246 // V6_vL32b_nt_npred_pi
247 // if (!Pv4) Vd32=vmem(Rx32++#s3):nt
248 if (!P0) V0=vmem(R0++#03):nt
249 # CHECK: 29c0c360 { if (!p0) v0 = vmem(r0++#3):nt }
251 // V6_vL32b_nt_npred_ppu
252 // if (!Pv4) Vd32=vmem(Rx32++Mu2):nt
253 if (!P0) V0=vmem(R0++M0):nt
254 # CHECK: 2bc0c060 { if (!p0) v0 = vmem(r0++m0):nt }
256 // V6_vL32b_nt_pred_ai
257 // if (Pv4) Vd32=vmem(Rt32+#s4):nt
258 if (P0) V0=vmem(R0+#04):nt
259 # CHECK: 28c0c440 { if (p0) v0 = vmem(r0+#4):nt }
261 // V6_vL32b_nt_pred_pi
262 // if (Pv4) Vd32=vmem(Rx32++#s3):nt
263 if (P0) V0=vmem(R0++#03):nt
264 # CHECK: 29c0c340 { if (p0) v0 = vmem(r0++#3):nt }
266 // V6_vL32b_nt_pred_ppu
267 // if (Pv4) Vd32=vmem(Rx32++Mu2):nt
268 if (P0) V0=vmem(R0++M0):nt
269 # CHECK: 2bc0c040 { if (p0) v0 = vmem(r0++m0):nt }
271 // V6_vL32b_nt_tmp_npred_ai
272 // if (!Pv4) Vd32.tmp=vmem(Rt32+#s4):nt
274 v1=v0
275 if (!P0) V0.tmp=vmem(R0+#04):nt
277 # CHECK: 1e0360e1 { v1 = v0
278 # CHECK: 28c0c4e0 if (!p0) v0.tmp = vmem(r0+#4):nt }
280 // V6_vL32b_nt_tmp_npred_pi
281 // if (!Pv4) Vd32.tmp=vmem(Rx32++#s3):nt
283 v1=v0
284 if (!P0) V0.tmp=vmem(R0++#03):nt
286 # CHECK: 1e0360e1 { v1 = v0
287 # CHECK: 29c0c3e0 if (!p0) v0.tmp = vmem(r0++#3):nt }
289 // V6_vL32b_nt_tmp_npred_ppu
290 // if (!Pv4) Vd32.tmp=vmem(Rx32++Mu2):nt
292 v1=v0
293 if (!P0) V0.tmp=vmem(R0++M0):nt
295 # CHECK: 1e0360e1 { v1 = v0
296 # CHECK: 2bc0c0e0 if (!p0) v0.tmp = vmem(r0++m0):nt }
298 // V6_vL32b_nt_tmp_pred_ai
299 // if (Pv4) Vd32.tmp=vmem(Rt32+#s4):nt
301 v1=v0
302 if (P0) V0.tmp=vmem(R0+#04):nt
304 # CHECK: 1e0360e1 { v1 = v0
305 # CHECK: 28c0c4c0 if (p0) v0.tmp = vmem(r0+#4):nt }
307 // V6_vL32b_nt_tmp_pred_pi
308 // if (Pv4) Vd32.tmp=vmem(Rx32++#s3):nt
310 v1=v0
311 if (P0) V0.tmp=vmem(R0++#03):nt
313 # CHECK: 1e0360e1 { v1 = v0
314 # CHECK: 29c0c3c0 if (p0) v0.tmp = vmem(r0++#3):nt }
316 // V6_vL32b_nt_tmp_pred_ppu
317 // if (Pv4) Vd32.tmp=vmem(Rx32++Mu2):nt
319 v1=v0
320 if (P0) V0.tmp=vmem(R0++M0):nt
322 # CHECK: 1e0360e1 { v1 = v0
323 # CHECK: 2bc0c0c0 if (p0) v0.tmp = vmem(r0++m0):nt }
325 // V6_vL32b_pred_ai
326 // if (Pv4) Vd32=vmem(Rt32+#s4)
327 if (P0) V0=vmem(R0+#04)
328 # CHECK: 2880c440 { if (p0) v0 = vmem(r0+#4) }
330 // V6_vL32b_pred_pi
331 // if (Pv4) Vd32=vmem(Rx32++#s3)
332 if (P0) V0=vmem(R0++#03)
333 # CHECK: 2980c340 { if (p0) v0 = vmem(r0++#3) }
335 // V6_vL32b_pred_ppu
336 // if (Pv4) Vd32=vmem(Rx32++Mu2)
337 if (P0) V0=vmem(R0++M0)
338 # CHECK: 2b80c040 { if (p0) v0 = vmem(r0++m0) }
340 // V6_vL32b_tmp_npred_ai
341 // if (!Pv4) Vd32.tmp=vmem(Rt32+#s4)
343 v1=v0
344 if (!P0) V0.tmp=vmem(R0+#04)
346 # CHECK: 1e0360e1 { v1 = v0
347 # CHECK: 2880c4e0 if (!p0) v0.tmp = vmem(r0+#4) }
349 // V6_vL32b_tmp_npred_pi
350 // if (!Pv4) Vd32.tmp=vmem(Rx32++#s3)
352 v1=v0
353 if (!P0) V0.tmp=vmem(R0++#03)
355 # CHECK: 1e0360e1 { v1 = v0
356 # CHECK: 2980c3e0 if (!p0) v0.tmp = vmem(r0++#3) }
358 // V6_vL32b_tmp_npred_ppu
359 // if (!Pv4) Vd32.tmp=vmem(Rx32++Mu2)
361 v1=v0
362 if (!P0) V0.tmp=vmem(R0++M0)
364 # CHECK: 1e0360e1 { v1 = v0
365 # CHECK: 2b80c0e0 if (!p0) v0.tmp = vmem(r0++m0) }
367 // V6_vL32b_tmp_pred_ai
368 // if (Pv4) Vd32.tmp=vmem(Rt32+#s4)
370 v1=v0
371 if (P0) V0.tmp=vmem(R0+#04)
373 # CHECK: 1e0360e1 { v1 = v0
374 # CHECK: 2880c4c0 if (p0) v0.tmp = vmem(r0+#4) }
376 // V6_vL32b_tmp_pred_pi
377 // if (Pv4) Vd32.tmp=vmem(Rx32++#s3)
379 v1=v0
380 if (P0) V0.tmp=vmem(R0++#03)
382 # CHECK: 1e0360e1 { v1 = v0
383 # CHECK: 2980c3c0 if (p0) v0.tmp = vmem(r0++#3) }
385 // V6_vL32b_tmp_pred_ppu
386 // if (Pv4) Vd32.tmp=vmem(Rx32++Mu2)
388 v1=v0
389 if (P0) V0.tmp=vmem(R0++M0)
391 # CHECK: 1e0360e1 { v1 = v0
392 # CHECK: 2b80c0c0 if (p0) v0.tmp = vmem(r0++m0) }
394 // V6_vlsrb
395 // Vd32.ub=vlsr(Vu32.ub,Rt32)
396 V0.ub=vlsr(V0.ub,R0)
397 # CHECK: 1980c060 { v0.ub = vlsr(v0.ub,r0) }
399 // V6_vlutvvbi
400 // Vd32.b=vlut32(Vu32.b,Vv32.b,#u3)
401 V0.b=vlut32(V0.b,V0.b,#03)
402 # CHECK: 1e20c060 { v0.b = vlut32(v0.b,v0.b,#3) }
404 // V6_vlutvvb_nm
405 // Vd32.b=vlut32(Vu32.b,Vv32.b,Rt8):nomatch
406 V0.b=vlut32(V0.b,V0.b,R0):nomatch
407 # CHECK: 1800c060 { v0.b = vlut32(v0.b,v0.b,r0):nomatch }
409 // V6_vlutvvb_oracci
410 // Vx32.b|=vlut32(Vu32.b,Vv32.b,#u3)
411 V0.b|=vlut32(V0.b,V0.b,#03)
412 # CHECK: 1cc0e060 { v0.b |= vlut32(v0.b,v0.b,#3) }
414 // V6_vlutvwhi
415 // Vdd32.h=vlut16(Vu32.b,Vv32.h,#u3)
416 V1:0.h=vlut16(V0.b,V0.h,#03)
417 # CHECK: 1e60c060 { v1:0.h = vlut16(v0.b,v0.h,#3) }
419 // V6_vlutvwh_nm
420 // Vdd32.h=vlut16(Vu32.b,Vv32.h,Rt8):nomatch
421 V1:0.h=vlut16(V0.b,V0.h,R0):nomatch
422 # CHECK: 1800c080 { v1:0.h = vlut16(v0.b,v0.h,r0):nomatch }
424 // V6_vlutvwh_oracci
425 // Vxx32.h|=vlut16(Vu32.b,Vv32.h,#u3)
426 V1:0.h|=vlut16(V0.b,V0.h,#03)
427 # CHECK: 1ce0e060 { v1:0.h |= vlut16(v0.b,v0.h,#3) }
429 // V6_vmaxb
430 // Vd32.b=vmax(Vu32.b,Vv32.b)
431 V0.b=vmax(V0.b,V0.b)
432 # CHECK: 1f20c0a0 { v0.b = vmax(v0.b,v0.b) }
434 // V6_vminb
435 // Vd32.b=vmin(Vu32.b,Vv32.b)
436 V0.b=vmin(V0.b,V0.b)
437 # CHECK: 1f20c080 { v0.b = vmin(v0.b,v0.b) }
439 // V6_vmpauhb
440 // Vdd32.w=vmpa(Vuu32.uh,Rt32.b)
441 V1:0.w=vmpa(V1:0.uh,R0.b)
442 # CHECK: 1980c0a0 { v1:0.w = vmpa(v1:0.uh,r0.b) }
444 // V6_vmpauhb_acc
445 // Vxx32.w+=vmpa(Vuu32.uh,Rt32.b)
446 V1:0.w+=vmpa(V1:0.uh,R0.b)
447 # CHECK: 1980e040 { v1:0.w += vmpa(v1:0.uh,r0.b) }
449 // V6_vmpyewuh_64
450 // Vdd32=vmpye(Vu32.w,Vv32.uh)
451 V1:0=vmpye(V0.w,V0.uh)
452 # CHECK: 1ea0c0c0 { v1:0 = vmpye(v0.w,v0.uh) }
454 // V6_vmpyiwub
455 // Vd32.w=vmpyi(Vu32.w,Rt32.ub)
456 V0.w=vmpyi(V0.w,R0.ub)
457 # CHECK: 1980c0c0 { v0.w = vmpyi(v0.w,r0.ub) }
459 // V6_vmpyiwub_acc
460 // Vx32.w+=vmpyi(Vu32.w,Rt32.ub)
461 V0.w+=vmpyi(V0.w,R0.ub)
462 # CHECK: 1980e020 { v0.w += vmpyi(v0.w,r0.ub) }
464 // V6_vmpyowh_64_acc
465 // Vxx32+=vmpyo(Vu32.w,Vv32.h)
466 V1:0+=vmpyo(V0.w,V0.h)
467 # CHECK: 1c20e060 { v1:0 += vmpyo(v0.w,v0.h) }
469 // V6_vrounduhub
470 // Vd32.ub=vround(Vu32.uh,Vv32.uh):sat
471 V0.ub=vround(V0.uh,V0.uh):sat
472 # CHECK: 1fe0c060 { v0.ub = vround(v0.uh,v0.uh):sat }
474 // V6_vrounduwuh
475 // Vd32.uh=vround(Vu32.uw,Vv32.uw):sat
476 V0.uh=vround(V0.uw,V0.uw):sat
477 # CHECK: 1fe0c080 { v0.uh = vround(v0.uw,v0.uw):sat }
479 // V6_vsatuwuh
480 // Vd32.uh=vsat(Vu32.uw,Vv32.uw)
481 V0.uh=vsat(V0.uw,V0.uw)
482 # CHECK: 1f20c0c0 { v0.uh = vsat(v0.uw,v0.uw) }
484 // V6_vsubbsat
485 // Vd32.b=vsub(Vu32.b,Vv32.b):sat
486 V0.b=vsub(V0.b,V0.b):sat
487 # CHECK: 1f20c040 { v0.b = vsub(v0.b,v0.b):sat }
489 // V6_vsubbsat_dv
490 // Vdd32.b=vsub(Vuu32.b,Vvv32.b):sat
491 V1:0.b=vsub(V1:0.b,V1:0.b):sat
492 # CHECK: 1ea0c020 { v1:0.b = vsub(v1:0.b,v1:0.b):sat }
494 // V6_vsubcarry
495 // Vd32.w=vsub(Vu32.w,Vv32.w,Qx4):carry
496 V0.w=vsub(V0.w,V0.w,Q0):carry
497 # CHECK: 1ca0e080 { v0.w = vsub(v0.w,v0.w,q0):carry }
499 // V6_vsubububb_sat
500 // Vd32.ub=vsub(Vu32.ub,Vv32.b):sat
501 V0.ub=vsub(V0.ub,V0.b):sat
502 # CHECK: 1ea0c0a0 { v0.ub = vsub(v0.ub,v0.b):sat }
504 // V6_vsubuwsat
505 // Vd32.uw=vsub(Vu32.uw,Vv32.uw):sat
506 V0.uw=vsub(V0.uw,V0.uw):sat
507 # CHECK: 1fc0c080 { v0.uw = vsub(v0.uw,v0.uw):sat }
509 // V6_vsubuwsat_dv
510 // Vdd32.uw=vsub(Vuu32.uw,Vvv32.uw):sat
511 V1:0.uw=vsub(V1:0.uw,V1:0.uw):sat
512 # CHECK: 1ea0c060 { v1:0.uw = vsub(v1:0.uw,v1:0.uw):sat }
514 // V6_vwhist128
515 // vwhist128
516 vwhist128
517 # CHECK: 1e00e480 { vwhist128 }
519 // V6_vwhist128m
520 // vwhist128(#u1)
521 vwhist128(#01)
522 # CHECK: 1e00e780 { vwhist128(#1) }
524 // V6_vwhist128q
525 // vwhist128(Qv4)
526 vwhist128(Q0)
527 # CHECK: 1e02e480 { vwhist128(q0) }
529 // V6_vwhist128qm
530 // vwhist128(Qv4,#u1)
531 vwhist128(Q0,#01)
532 # CHECK: 1e02e780 { vwhist128(q0,#1) }
534 // V6_vwhist256
535 // vwhist256
536 vwhist256
537 # CHECK: 1e00e280 { vwhist256 }
539 // V6_vwhist256q
540 // vwhist256(Qv4)
541 vwhist256(Q0)
542 # CHECK: 1e02e280 { vwhist256(q0) }
544 // V6_vwhist256q_sat
545 // vwhist256(Qv4):sat
546 vwhist256(Q0):sat
547 # CHECK: 1e02e380 { vwhist256(q0):sat }
549 // V6_vwhist256_sat
550 // vwhist256:sat
551 vwhist256:sat
552 # CHECK: 1e00e380 { vwhist256:sat }