1# RUN: llvm-mc -arch=hexagon -mcpu=hexagonv62 -filetype=obj -mhvx %s | llvm-objdump -arch=hexagon -mcpu=hexagonv62 -mhvx -d - | FileCheck %s 2 3// V6_lvsplatb 4// Vd32.b=vsplat(Rt32) 5 V0.b=vsplat(R0) 6# CHECK: 19c0c040 { v0.b = vsplat(r0) } 7 8// V6_lvsplath 9// Vd32.h=vsplat(Rt32) 10 V0.h=vsplat(R0) 11# CHECK: 19c0c020 { v0.h = vsplat(r0) } 12 13// V6_pred_scalar2v2 14// Qd4=vsetq2(Rt32) 15 Q0=vsetq2(R0) 16# CHECK: 19a0c04c { q0 = vsetq2(r0) } 17 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) } 22 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) } 27 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 } 32 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 } 37 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 } 42 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) } 47 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) } 52 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) } 57 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) } 62 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 } 67 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) } 72 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 } 77 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 } 82 83// V6_vandnqrt 84// Vd32=vand(!Qu4,Rt32) 85 V0=vand(!Q0,R0) 86# CHECK: 19a0c4a0 { v0 = vand(!q0,r0) } 87 88// V6_vandnqrt_acc 89// Vx32|=vand(!Qu4,Rt32) 90 V0|=vand(!Q0,R0) 91# CHECK: 1960e460 { v0 |= vand(!q0,r0) } 92 93// V6_vandvnqv 94// Vd32=vand(!Qv4,Vu32) 95 V0=vand(!Q0,V0) 96# CHECK: 1e03e020 { v0 = vand(!q0,v0) } 97 98// V6_vandvqv 99// Vd32=vand(Qv4,Vu32) 100 V0=vand(Q0,V0) 101# CHECK: 1e03e000 { v0 = vand(q0,v0) } 102 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 } 107 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 } 112 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 } 117 118// V6_vL32b_cur_npred_ai 119// if (!Pv4) Vd32.cur=vmem(Rt32+#s4) 120 { 121 v1=v0 122 if (!P0) V0.cur=vmem(R0+#04) 123 } 124# CHECK: 1e0360e1 { v1 = v0 125# CHECK: 2880c4a0 if (!p0) v0.cur = vmem(r0+#4) } 126 127// V6_vL32b_cur_npred_pi 128// if (!Pv4) Vd32.cur=vmem(Rx32++#s3) 129 { 130 v1=v0 131 if (!P0) V0.cur=vmem(R0++#03) 132 } 133# CHECK: 1e0360e1 { v1 = v0 134# CHECK: 2980c3a0 if (!p0) v0.cur = vmem(r0++#3) } 135 136// V6_vL32b_cur_npred_ppu 137// if (!Pv4) Vd32.cur=vmem(Rx32++Mu2) 138 { 139 v1=v0 140 if (!P0) V0.cur=vmem(R0++M0) 141 } 142# CHECK: 1e0360e1 { v1 = v0 143# CHECK: 2b80c0a0 if (!p0) v0.cur = vmem(r0++m0) } 144 145// V6_vL32b_cur_pred_ai 146// if (Pv4) Vd32.cur=vmem(Rt32+#s4) 147 { 148 v1=v0 149 if (P0) V0.cur=vmem(R0+#04) 150 } 151# CHECK: 1e0360e1 { v1 = v0 152# CHECK: 2880c480 if (p0) v0.cur = vmem(r0+#4) } 153 154// V6_vL32b_cur_pred_pi 155// if (Pv4) Vd32.cur=vmem(Rx32++#s3) 156 { 157 v1=v0 158 if (P0) V0.cur=vmem(R0++#03) 159 } 160# CHECK: 1e0360e1 { v1 = v0 161# CHECK: 2980c380 if (p0) v0.cur = vmem(r0++#3) } 162 163// V6_vL32b_cur_pred_ppu 164// if (Pv4) Vd32.cur=vmem(Rx32++Mu2) 165 { 166 v1=v0 167 if (P0) V0.cur=vmem(R0++M0) 168 } 169# CHECK: 1e0360e1 { v1 = v0 170# CHECK: 2b80c080 if (p0) v0.cur = vmem(r0++m0) } 171 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) } 176 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) } 181 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) } 186 187// V6_vL32b_nt_cur_npred_ai 188// if (!Pv4) Vd32.cur=vmem(Rt32+#s4):nt 189 { 190 v1=v0 191 if (!P0) V0.cur=vmem(R0+#04):nt 192 } 193# CHECK: 1e0360e1 { v1 = v0 194# CHECK: 28c0c4a0 if (!p0) v0.cur = vmem(r0+#4):nt } 195 196// V6_vL32b_nt_cur_npred_pi 197// if (!Pv4) Vd32.cur=vmem(Rx32++#s3):nt 198 { 199 v1=v0 200 if (!P0) V0.cur=vmem(R0++#03):nt 201 } 202# CHECK: 1e0360e1 { v1 = v0 203# CHECK: 29c0c3a0 if (!p0) v0.cur = vmem(r0++#3):nt } 204 205// V6_vL32b_nt_cur_npred_ppu 206// if (!Pv4) Vd32.cur=vmem(Rx32++Mu2):nt 207 { 208 v1=v0 209 if (!P0) V0.cur=vmem(R0++M0):nt 210 } 211# CHECK: 1e0360e1 { v1 = v0 212# CHECK: 2bc0c0a0 if (!p0) v0.cur = vmem(r0++m0):nt } 213 214// V6_vL32b_nt_cur_pred_ai 215// if (Pv4) Vd32.cur=vmem(Rt32+#s4):nt 216 { 217 v1=v0 218 if (P0) V0.cur=vmem(R0+#04):nt 219 } 220# CHECK: 1e0360e1 { v1 = v0 221# CHECK: 28c0c480 if (p0) v0.cur = vmem(r0+#4):nt } 222 223// V6_vL32b_nt_cur_pred_pi 224// if (Pv4) Vd32.cur=vmem(Rx32++#s3):nt 225 { 226 v1=v0 227 if (P0) V0.cur=vmem(R0++#03):nt 228 } 229# CHECK: 1e0360e1 { v1 = v0 230# CHECK: 29c0c380 if (p0) v0.cur = vmem(r0++#3):nt } 231 232// V6_vL32b_nt_cur_pred_ppu 233// if (Pv4) Vd32.cur=vmem(Rx32++Mu2):nt 234 { 235 v1=v0 236 if (P0) V0.cur=vmem(R0++M0):nt 237 } 238# CHECK: 1e0360e1 { v1 = v0 239# CHECK: 2bc0c080 if (p0) v0.cur = vmem(r0++m0):nt } 240 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 } 245 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 } 250 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 } 255 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 } 260 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 } 265 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 } 270 271// V6_vL32b_nt_tmp_npred_ai 272// if (!Pv4) Vd32.tmp=vmem(Rt32+#s4):nt 273 { 274 v1=v0 275 if (!P0) V0.tmp=vmem(R0+#04):nt 276 } 277# CHECK: 1e0360e1 { v1 = v0 278# CHECK: 28c0c4e0 if (!p0) v0.tmp = vmem(r0+#4):nt } 279 280// V6_vL32b_nt_tmp_npred_pi 281// if (!Pv4) Vd32.tmp=vmem(Rx32++#s3):nt 282 { 283 v1=v0 284 if (!P0) V0.tmp=vmem(R0++#03):nt 285 } 286# CHECK: 1e0360e1 { v1 = v0 287# CHECK: 29c0c3e0 if (!p0) v0.tmp = vmem(r0++#3):nt } 288 289// V6_vL32b_nt_tmp_npred_ppu 290// if (!Pv4) Vd32.tmp=vmem(Rx32++Mu2):nt 291 { 292 v1=v0 293 if (!P0) V0.tmp=vmem(R0++M0):nt 294 } 295# CHECK: 1e0360e1 { v1 = v0 296# CHECK: 2bc0c0e0 if (!p0) v0.tmp = vmem(r0++m0):nt } 297 298// V6_vL32b_nt_tmp_pred_ai 299// if (Pv4) Vd32.tmp=vmem(Rt32+#s4):nt 300 { 301 v1=v0 302 if (P0) V0.tmp=vmem(R0+#04):nt 303 } 304# CHECK: 1e0360e1 { v1 = v0 305# CHECK: 28c0c4c0 if (p0) v0.tmp = vmem(r0+#4):nt } 306 307// V6_vL32b_nt_tmp_pred_pi 308// if (Pv4) Vd32.tmp=vmem(Rx32++#s3):nt 309 { 310 v1=v0 311 if (P0) V0.tmp=vmem(R0++#03):nt 312 } 313# CHECK: 1e0360e1 { v1 = v0 314# CHECK: 29c0c3c0 if (p0) v0.tmp = vmem(r0++#3):nt } 315 316// V6_vL32b_nt_tmp_pred_ppu 317// if (Pv4) Vd32.tmp=vmem(Rx32++Mu2):nt 318 { 319 v1=v0 320 if (P0) V0.tmp=vmem(R0++M0):nt 321 } 322# CHECK: 1e0360e1 { v1 = v0 323# CHECK: 2bc0c0c0 if (p0) v0.tmp = vmem(r0++m0):nt } 324 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) } 329 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) } 334 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) } 339 340// V6_vL32b_tmp_npred_ai 341// if (!Pv4) Vd32.tmp=vmem(Rt32+#s4) 342 { 343 v1=v0 344 if (!P0) V0.tmp=vmem(R0+#04) 345 } 346# CHECK: 1e0360e1 { v1 = v0 347# CHECK: 2880c4e0 if (!p0) v0.tmp = vmem(r0+#4) } 348 349// V6_vL32b_tmp_npred_pi 350// if (!Pv4) Vd32.tmp=vmem(Rx32++#s3) 351 { 352 v1=v0 353 if (!P0) V0.tmp=vmem(R0++#03) 354 } 355# CHECK: 1e0360e1 { v1 = v0 356# CHECK: 2980c3e0 if (!p0) v0.tmp = vmem(r0++#3) } 357 358// V6_vL32b_tmp_npred_ppu 359// if (!Pv4) Vd32.tmp=vmem(Rx32++Mu2) 360 { 361 v1=v0 362 if (!P0) V0.tmp=vmem(R0++M0) 363 } 364# CHECK: 1e0360e1 { v1 = v0 365# CHECK: 2b80c0e0 if (!p0) v0.tmp = vmem(r0++m0) } 366 367// V6_vL32b_tmp_pred_ai 368// if (Pv4) Vd32.tmp=vmem(Rt32+#s4) 369 { 370 v1=v0 371 if (P0) V0.tmp=vmem(R0+#04) 372 } 373# CHECK: 1e0360e1 { v1 = v0 374# CHECK: 2880c4c0 if (p0) v0.tmp = vmem(r0+#4) } 375 376// V6_vL32b_tmp_pred_pi 377// if (Pv4) Vd32.tmp=vmem(Rx32++#s3) 378 { 379 v1=v0 380 if (P0) V0.tmp=vmem(R0++#03) 381 } 382# CHECK: 1e0360e1 { v1 = v0 383# CHECK: 2980c3c0 if (p0) v0.tmp = vmem(r0++#3) } 384 385// V6_vL32b_tmp_pred_ppu 386// if (Pv4) Vd32.tmp=vmem(Rx32++Mu2) 387 { 388 v1=v0 389 if (P0) V0.tmp=vmem(R0++M0) 390 } 391# CHECK: 1e0360e1 { v1 = v0 392# CHECK: 2b80c0c0 if (p0) v0.tmp = vmem(r0++m0) } 393 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) } 398 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) } 403 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 } 408 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) } 413 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) } 418 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 } 423 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) } 428 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) } 433 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) } 438 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) } 443 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) } 448 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) } 453 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) } 458 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) } 463 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) } 468 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 } 473 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 } 478 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) } 483 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 } 488 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 } 493 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 } 498 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 } 503 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 } 508 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 } 513 514// V6_vwhist128 515// vwhist128 516 vwhist128 517# CHECK: 1e00e480 { vwhist128 } 518 519// V6_vwhist128m 520// vwhist128(#u1) 521 vwhist128(#01) 522# CHECK: 1e00e780 { vwhist128(#1) } 523 524// V6_vwhist128q 525// vwhist128(Qv4) 526 vwhist128(Q0) 527# CHECK: 1e02e480 { vwhist128(q0) } 528 529// V6_vwhist128qm 530// vwhist128(Qv4,#u1) 531 vwhist128(Q0,#01) 532# CHECK: 1e02e780 { vwhist128(q0,#1) } 533 534// V6_vwhist256 535// vwhist256 536 vwhist256 537# CHECK: 1e00e280 { vwhist256 } 538 539// V6_vwhist256q 540// vwhist256(Qv4) 541 vwhist256(Q0) 542# CHECK: 1e02e280 { vwhist256(q0) } 543 544// V6_vwhist256q_sat 545// vwhist256(Qv4):sat 546 vwhist256(Q0):sat 547# CHECK: 1e02e380 { vwhist256(q0):sat } 548 549// V6_vwhist256_sat 550// vwhist256:sat 551 vwhist256:sat 552# CHECK: 1e00e380 { vwhist256:sat } 553