2811 lines
73 KiB
ArmAsm
2811 lines
73 KiB
ArmAsm
|
# RUN: llvm-mc -arch=hexagon -mcpu=hexagonv67 -mhvx -filetype=obj %s | llvm-objdump --mcpu=hexagonv67 --mhvx -d - | FileCheck --implicit-check-not='{' %s
|
||
|
|
||
|
|
||
|
|
||
|
// Warning: This file is auto generated by mktest.py. Do not edit!
|
||
|
// Created at Wed Aug 22 11:17:37 2018
|
||
|
// Created using:
|
||
|
// Arch: v67, commit: 324e85a78e99759c3643d207f9d9b42bbfaf00f6
|
||
|
|
||
|
// V6_extractw
|
||
|
// Rd32=vextract(Vu32,Rs32)
|
||
|
r0=vextract(v0,r0)
|
||
|
# CHECK: 9200c020 { r0 = vextract(v0,r0) }
|
||
|
|
||
|
// V6_lvsplatb
|
||
|
// Vd32.b=vsplat(Rt32)
|
||
|
v0.b=vsplat(r0)
|
||
|
# CHECK-NEXT: 19c0c040 { v0.b = vsplat(r0) }
|
||
|
|
||
|
// V6_lvsplath
|
||
|
// Vd32.h=vsplat(Rt32)
|
||
|
v0.h=vsplat(r0)
|
||
|
# CHECK-NEXT: 19c0c020 { v0.h = vsplat(r0) }
|
||
|
|
||
|
// V6_lvsplatw
|
||
|
// Vd32=vsplat(Rt32)
|
||
|
v0=vsplat(r0)
|
||
|
# CHECK-NEXT: 19a0c020 { v0 = vsplat(r0) }
|
||
|
|
||
|
// V6_pred_and
|
||
|
// Qd4=and(Qs4,Qt4)
|
||
|
q0=and(q0,q0)
|
||
|
# CHECK-NEXT: 1e03c000 { q0 = and(q0,q0) }
|
||
|
|
||
|
// V6_pred_and_n
|
||
|
// Qd4=and(Qs4,!Qt4)
|
||
|
q0=and(q0,!q0)
|
||
|
# CHECK-NEXT: 1e03c014 { q0 = and(q0,!q0) }
|
||
|
|
||
|
// V6_pred_not
|
||
|
// Qd4=not(Qs4)
|
||
|
q0=not(q0)
|
||
|
# CHECK-NEXT: 1e03c008 { q0 = not(q0) }
|
||
|
|
||
|
// V6_pred_or
|
||
|
// Qd4=or(Qs4,Qt4)
|
||
|
q0=or(q0,q0)
|
||
|
# CHECK-NEXT: 1e03c004 { q0 = or(q0,q0) }
|
||
|
|
||
|
// V6_pred_or_n
|
||
|
// Qd4=or(Qs4,!Qt4)
|
||
|
q0=or(q0,!q0)
|
||
|
# CHECK-NEXT: 1e03c010 { q0 = or(q0,!q0) }
|
||
|
|
||
|
// V6_pred_scalar2
|
||
|
// Qd4=vsetq(Rt32)
|
||
|
q0=vsetq(r0)
|
||
|
# CHECK-NEXT: 19a0c044 { q0 = vsetq(r0) }
|
||
|
|
||
|
// V6_pred_scalar2v2
|
||
|
// Qd4=vsetq2(Rt32)
|
||
|
q0=vsetq2(r0)
|
||
|
# CHECK-NEXT: 19a0c04c { q0 = vsetq2(r0) }
|
||
|
|
||
|
// V6_pred_xor
|
||
|
// Qd4=xor(Qs4,Qt4)
|
||
|
q0=xor(q0,q0)
|
||
|
# CHECK-NEXT: 1e03c00c { q0 = xor(q0,q0) }
|
||
|
|
||
|
// V6_shuffeqh
|
||
|
// Qd4.b=vshuffe(Qs4.h,Qt4.h)
|
||
|
q0.b=vshuffe(q0.h,q0.h)
|
||
|
# CHECK-NEXT: 1e03c018 { q0.b = vshuffe(q0.h,q0.h) }
|
||
|
|
||
|
// V6_shuffeqw
|
||
|
// Qd4.h=vshuffe(Qs4.w,Qt4.w)
|
||
|
q0.h=vshuffe(q0.w,q0.w)
|
||
|
# CHECK-NEXT: 1e03c01c { q0.h = vshuffe(q0.w,q0.w) }
|
||
|
|
||
|
// V6_vL32Ub_ai
|
||
|
// Vd32=vmemu(Rt32+#s4)
|
||
|
v0=vmemu(r0+#0)
|
||
|
# CHECK-NEXT: 2800c0e0 { v0 = vmemu(r0+#0) }
|
||
|
|
||
|
// V6_vL32Ub_pi
|
||
|
// Vd32=vmemu(Rx32++#s3)
|
||
|
v0=vmemu(r0++#0)
|
||
|
# CHECK-NEXT: 2900c0e0 { v0 = vmemu(r0++#0) }
|
||
|
|
||
|
// V6_vL32Ub_ppu
|
||
|
// Vd32=vmemu(Rx32++Mu2)
|
||
|
v0=vmemu(r0++m0)
|
||
|
# CHECK-NEXT: 2b00c0e0 { v0 = vmemu(r0++m0) }
|
||
|
|
||
|
// V6_vL32b_ai
|
||
|
// Vd32=vmem(Rt32+#s4)
|
||
|
v0=vmem(r0+#0)
|
||
|
# CHECK-NEXT: 2800c000 { v0 = vmem(r0+#0) }
|
||
|
|
||
|
// V6_vL32b_cur_ai
|
||
|
// Vd32.cur=vmem(Rt32+#s4)
|
||
|
v0.cur=vmem(r0+#0)
|
||
|
# CHECK-NEXT: 2800c020 { v0.cur = vmem(r0+#0) }
|
||
|
|
||
|
// V6_vL32b_cur_npred_ai
|
||
|
// if (!Pv4) Vd32.cur=vmem(Rt32+#s4)
|
||
|
if (!p0) v0.cur=vmem(r0+#0)
|
||
|
# CHECK-NEXT: 2880c0a0 { if (!p0) v0.cur = vmem(r0+#0) }
|
||
|
|
||
|
// V6_vL32b_cur_npred_pi
|
||
|
// if (!Pv4) Vd32.cur=vmem(Rx32++#s3)
|
||
|
if (!p0) v0.cur=vmem(r0++#0)
|
||
|
# CHECK-NEXT: 2980c0a0 { if (!p0) v0.cur = vmem(r0++#0) }
|
||
|
|
||
|
// V6_vL32b_cur_npred_ppu
|
||
|
// if (!Pv4) Vd32.cur=vmem(Rx32++Mu2)
|
||
|
if (!p0) v0.cur=vmem(r0++m0)
|
||
|
# CHECK-NEXT: 2b80c0a0 { if (!p0) v0.cur = vmem(r0++m0) }
|
||
|
|
||
|
// V6_vL32b_cur_pi
|
||
|
// Vd32.cur=vmem(Rx32++#s3)
|
||
|
v0.cur=vmem(r0++#0)
|
||
|
# CHECK-NEXT: 2900c020 { v0.cur = vmem(r0++#0) }
|
||
|
|
||
|
// V6_vL32b_cur_ppu
|
||
|
// Vd32.cur=vmem(Rx32++Mu2)
|
||
|
v0.cur=vmem(r0++m0)
|
||
|
# CHECK-NEXT: 2b00c020 { v0.cur = vmem(r0++m0) }
|
||
|
|
||
|
// V6_vL32b_cur_pred_ai
|
||
|
// if (Pv4) Vd32.cur=vmem(Rt32+#s4)
|
||
|
if (p0) v0.cur=vmem(r0+#0)
|
||
|
# CHECK-NEXT: 2880c080 { if (p0) v0.cur = vmem(r0+#0) }
|
||
|
|
||
|
// V6_vL32b_cur_pred_pi
|
||
|
// if (Pv4) Vd32.cur=vmem(Rx32++#s3)
|
||
|
if (p0) v0.cur=vmem(r0++#0)
|
||
|
# CHECK-NEXT: 2980c080 { if (p0) v0.cur = vmem(r0++#0) }
|
||
|
|
||
|
// V6_vL32b_cur_pred_ppu
|
||
|
// if (Pv4) Vd32.cur=vmem(Rx32++Mu2)
|
||
|
if (p0) v0.cur=vmem(r0++m0)
|
||
|
# CHECK-NEXT: 2b80c080 { if (p0) v0.cur = vmem(r0++m0) }
|
||
|
|
||
|
// V6_vL32b_npred_ai
|
||
|
// if (!Pv4) Vd32=vmem(Rt32+#s4)
|
||
|
if (!p0) v0=vmem(r0+#0)
|
||
|
# CHECK-NEXT: 2880c060 { if (!p0) v0 = vmem(r0+#0) }
|
||
|
|
||
|
// V6_vL32b_npred_pi
|
||
|
// if (!Pv4) Vd32=vmem(Rx32++#s3)
|
||
|
if (!p0) v0=vmem(r0++#0)
|
||
|
# CHECK-NEXT: 2980c060 { if (!p0) v0 = vmem(r0++#0) }
|
||
|
|
||
|
// V6_vL32b_npred_ppu
|
||
|
// if (!Pv4) Vd32=vmem(Rx32++Mu2)
|
||
|
if (!p0) v0=vmem(r0++m0)
|
||
|
# CHECK-NEXT: 2b80c060 { if (!p0) v0 = vmem(r0++m0) }
|
||
|
|
||
|
// V6_vL32b_nt_ai
|
||
|
// Vd32=vmem(Rt32+#s4):nt
|
||
|
v0=vmem(r0+#0):nt
|
||
|
# CHECK-NEXT: 2840c000 { v0 = vmem(r0+#0):nt }
|
||
|
|
||
|
// V6_vL32b_nt_cur_ai
|
||
|
// Vd32.cur=vmem(Rt32+#s4):nt
|
||
|
v0.cur=vmem(r0+#0):nt
|
||
|
# CHECK-NEXT: 2840c020 { v0.cur = vmem(r0+#0):nt }
|
||
|
|
||
|
// V6_vL32b_nt_cur_npred_ai
|
||
|
// if (!Pv4) Vd32.cur=vmem(Rt32+#s4):nt
|
||
|
if (!p0) v0.cur=vmem(r0+#0):nt
|
||
|
# CHECK-NEXT: 28c0c0a0 { if (!p0) v0.cur = vmem(r0+#0):nt }
|
||
|
|
||
|
// V6_vL32b_nt_cur_npred_pi
|
||
|
// if (!Pv4) Vd32.cur=vmem(Rx32++#s3):nt
|
||
|
if (!p0) v0.cur=vmem(r0++#0):nt
|
||
|
# CHECK-NEXT: 29c0c0a0 { if (!p0) v0.cur = vmem(r0++#0):nt }
|
||
|
|
||
|
// V6_vL32b_nt_cur_npred_ppu
|
||
|
// if (!Pv4) Vd32.cur=vmem(Rx32++Mu2):nt
|
||
|
if (!p0) v0.cur=vmem(r0++m0):nt
|
||
|
# CHECK-NEXT: 2bc0c0a0 { if (!p0) v0.cur = vmem(r0++m0):nt }
|
||
|
|
||
|
// V6_vL32b_nt_cur_pi
|
||
|
// Vd32.cur=vmem(Rx32++#s3):nt
|
||
|
v0.cur=vmem(r0++#0):nt
|
||
|
# CHECK-NEXT: 2940c020 { v0.cur = vmem(r0++#0):nt }
|
||
|
|
||
|
// V6_vL32b_nt_cur_ppu
|
||
|
// Vd32.cur=vmem(Rx32++Mu2):nt
|
||
|
v0.cur=vmem(r0++m0):nt
|
||
|
# CHECK-NEXT: 2b40c020 { v0.cur = vmem(r0++m0):nt }
|
||
|
|
||
|
// V6_vL32b_nt_cur_pred_ai
|
||
|
// if (Pv4) Vd32.cur=vmem(Rt32+#s4):nt
|
||
|
if (p0) v0.cur=vmem(r0+#0):nt
|
||
|
# CHECK-NEXT: 28c0c080 { if (p0) v0.cur = vmem(r0+#0):nt }
|
||
|
|
||
|
// V6_vL32b_nt_cur_pred_pi
|
||
|
// if (Pv4) Vd32.cur=vmem(Rx32++#s3):nt
|
||
|
if (p0) v0.cur=vmem(r0++#0):nt
|
||
|
# CHECK-NEXT: 29c0c080 { if (p0) v0.cur = vmem(r0++#0):nt }
|
||
|
|
||
|
// V6_vL32b_nt_cur_pred_ppu
|
||
|
// if (Pv4) Vd32.cur=vmem(Rx32++Mu2):nt
|
||
|
if (p0) v0.cur=vmem(r0++m0):nt
|
||
|
# CHECK-NEXT: 2bc0c080 { if (p0) v0.cur = vmem(r0++m0):nt }
|
||
|
|
||
|
// V6_vL32b_nt_npred_ai
|
||
|
// if (!Pv4) Vd32=vmem(Rt32+#s4):nt
|
||
|
if (!p0) v0=vmem(r0+#0):nt
|
||
|
# CHECK-NEXT: 28c0c060 { if (!p0) v0 = vmem(r0+#0):nt }
|
||
|
|
||
|
// V6_vL32b_nt_npred_pi
|
||
|
// if (!Pv4) Vd32=vmem(Rx32++#s3):nt
|
||
|
if (!p0) v0=vmem(r0++#0):nt
|
||
|
# CHECK-NEXT: 29c0c060 { if (!p0) v0 = vmem(r0++#0):nt }
|
||
|
|
||
|
// V6_vL32b_nt_npred_ppu
|
||
|
// if (!Pv4) Vd32=vmem(Rx32++Mu2):nt
|
||
|
if (!p0) v0=vmem(r0++m0):nt
|
||
|
# CHECK-NEXT: 2bc0c060 { if (!p0) v0 = vmem(r0++m0):nt }
|
||
|
|
||
|
// V6_vL32b_nt_pi
|
||
|
// Vd32=vmem(Rx32++#s3):nt
|
||
|
v0=vmem(r0++#0):nt
|
||
|
# CHECK-NEXT: 2940c000 { v0 = vmem(r0++#0):nt }
|
||
|
|
||
|
// V6_vL32b_nt_ppu
|
||
|
// Vd32=vmem(Rx32++Mu2):nt
|
||
|
v0=vmem(r0++m0):nt
|
||
|
# CHECK-NEXT: 2b40c000 { v0 = vmem(r0++m0):nt }
|
||
|
|
||
|
// V6_vL32b_nt_pred_ai
|
||
|
// if (Pv4) Vd32=vmem(Rt32+#s4):nt
|
||
|
if (p0) v0=vmem(r0+#0):nt
|
||
|
# CHECK-NEXT: 28c0c040 { if (p0) v0 = vmem(r0+#0):nt }
|
||
|
|
||
|
// V6_vL32b_nt_pred_pi
|
||
|
// if (Pv4) Vd32=vmem(Rx32++#s3):nt
|
||
|
if (p0) v0=vmem(r0++#0):nt
|
||
|
# CHECK-NEXT: 29c0c040 { if (p0) v0 = vmem(r0++#0):nt }
|
||
|
|
||
|
// V6_vL32b_nt_pred_ppu
|
||
|
// if (Pv4) Vd32=vmem(Rx32++Mu2):nt
|
||
|
if (p0) v0=vmem(r0++m0):nt
|
||
|
# CHECK-NEXT: 2bc0c040 { if (p0) v0 = vmem(r0++m0):nt }
|
||
|
|
||
|
// V6_vL32b_nt_tmp_ai
|
||
|
// Vd32.tmp=vmem(Rt32+#s4):nt
|
||
|
v0.tmp=vmem(r0+#0):nt
|
||
|
# CHECK-NEXT: 2840c040 { v0.tmp = vmem(r0+#0):nt }
|
||
|
|
||
|
// V6_vL32b_nt_tmp_npred_ai
|
||
|
// if (!Pv4) Vd32.tmp=vmem(Rt32+#s4):nt
|
||
|
if (!p0) v0.tmp=vmem(r0+#0):nt
|
||
|
# CHECK-NEXT: 28c0c0e0 { if (!p0) v0.tmp = vmem(r0+#0):nt }
|
||
|
|
||
|
// V6_vL32b_nt_tmp_npred_pi
|
||
|
// if (!Pv4) Vd32.tmp=vmem(Rx32++#s3):nt
|
||
|
if (!p0) v0.tmp=vmem(r0++#0):nt
|
||
|
# CHECK-NEXT: 29c0c0e0 { if (!p0) v0.tmp = vmem(r0++#0):nt }
|
||
|
|
||
|
// V6_vL32b_nt_tmp_npred_ppu
|
||
|
// if (!Pv4) Vd32.tmp=vmem(Rx32++Mu2):nt
|
||
|
if (!p0) v0.tmp=vmem(r0++m0):nt
|
||
|
# CHECK-NEXT: 2bc0c0e0 { if (!p0) v0.tmp = vmem(r0++m0):nt }
|
||
|
|
||
|
// V6_vL32b_nt_tmp_pi
|
||
|
// Vd32.tmp=vmem(Rx32++#s3):nt
|
||
|
v0.tmp=vmem(r0++#0):nt
|
||
|
# CHECK-NEXT: 2940c040 { v0.tmp = vmem(r0++#0):nt }
|
||
|
|
||
|
// V6_vL32b_nt_tmp_ppu
|
||
|
// Vd32.tmp=vmem(Rx32++Mu2):nt
|
||
|
v0.tmp=vmem(r0++m0):nt
|
||
|
# CHECK-NEXT: 2b40c040 { v0.tmp = vmem(r0++m0):nt }
|
||
|
|
||
|
// V6_vL32b_nt_tmp_pred_ai
|
||
|
// if (Pv4) Vd32.tmp=vmem(Rt32+#s4):nt
|
||
|
if (p0) v0.tmp=vmem(r0+#0):nt
|
||
|
# CHECK-NEXT: 28c0c0c0 { if (p0) v0.tmp = vmem(r0+#0):nt }
|
||
|
|
||
|
// V6_vL32b_nt_tmp_pred_pi
|
||
|
// if (Pv4) Vd32.tmp=vmem(Rx32++#s3):nt
|
||
|
if (p0) v0.tmp=vmem(r0++#0):nt
|
||
|
# CHECK-NEXT: 29c0c0c0 { if (p0) v0.tmp = vmem(r0++#0):nt }
|
||
|
|
||
|
// V6_vL32b_nt_tmp_pred_ppu
|
||
|
// if (Pv4) Vd32.tmp=vmem(Rx32++Mu2):nt
|
||
|
if (p0) v0.tmp=vmem(r0++m0):nt
|
||
|
# CHECK-NEXT: 2bc0c0c0 { if (p0) v0.tmp = vmem(r0++m0):nt }
|
||
|
|
||
|
// V6_vL32b_pi
|
||
|
// Vd32=vmem(Rx32++#s3)
|
||
|
v0=vmem(r0++#0)
|
||
|
# CHECK-NEXT: 2900c000 { v0 = vmem(r0++#0) }
|
||
|
|
||
|
// V6_vL32b_ppu
|
||
|
// Vd32=vmem(Rx32++Mu2)
|
||
|
v0=vmem(r0++m0)
|
||
|
# CHECK-NEXT: 2b00c000 { v0 = vmem(r0++m0) }
|
||
|
|
||
|
// V6_vL32b_pred_ai
|
||
|
// if (Pv4) Vd32=vmem(Rt32+#s4)
|
||
|
if (p0) v0=vmem(r0+#0)
|
||
|
# CHECK-NEXT: 2880c040 { if (p0) v0 = vmem(r0+#0) }
|
||
|
|
||
|
// V6_vL32b_pred_pi
|
||
|
// if (Pv4) Vd32=vmem(Rx32++#s3)
|
||
|
if (p0) v0=vmem(r0++#0)
|
||
|
# CHECK-NEXT: 2980c040 { if (p0) v0 = vmem(r0++#0) }
|
||
|
|
||
|
// V6_vL32b_pred_ppu
|
||
|
// if (Pv4) Vd32=vmem(Rx32++Mu2)
|
||
|
if (p0) v0=vmem(r0++m0)
|
||
|
# CHECK-NEXT: 2b80c040 { if (p0) v0 = vmem(r0++m0) }
|
||
|
|
||
|
// V6_vL32b_tmp_ai
|
||
|
// Vd32.tmp=vmem(Rt32+#s4)
|
||
|
v0.tmp=vmem(r0+#0)
|
||
|
# CHECK-NEXT: 2800c040 { v0.tmp = vmem(r0+#0) }
|
||
|
|
||
|
// V6_vL32b_tmp_npred_ai
|
||
|
// if (!Pv4) Vd32.tmp=vmem(Rt32+#s4)
|
||
|
if (!p0) v0.tmp=vmem(r0+#0)
|
||
|
# CHECK-NEXT: 2880c0e0 { if (!p0) v0.tmp = vmem(r0+#0) }
|
||
|
|
||
|
// V6_vL32b_tmp_npred_pi
|
||
|
// if (!Pv4) Vd32.tmp=vmem(Rx32++#s3)
|
||
|
if (!p0) v0.tmp=vmem(r0++#0)
|
||
|
# CHECK-NEXT: 2980c0e0 { if (!p0) v0.tmp = vmem(r0++#0) }
|
||
|
|
||
|
// V6_vL32b_tmp_npred_ppu
|
||
|
// if (!Pv4) Vd32.tmp=vmem(Rx32++Mu2)
|
||
|
if (!p0) v0.tmp=vmem(r0++m0)
|
||
|
# CHECK-NEXT: 2b80c0e0 { if (!p0) v0.tmp = vmem(r0++m0) }
|
||
|
|
||
|
// V6_vL32b_tmp_pi
|
||
|
// Vd32.tmp=vmem(Rx32++#s3)
|
||
|
v0.tmp=vmem(r0++#0)
|
||
|
# CHECK-NEXT: 2900c040 { v0.tmp = vmem(r0++#0) }
|
||
|
|
||
|
// V6_vL32b_tmp_ppu
|
||
|
// Vd32.tmp=vmem(Rx32++Mu2)
|
||
|
v0.tmp=vmem(r0++m0)
|
||
|
# CHECK-NEXT: 2b00c040 { v0.tmp = vmem(r0++m0) }
|
||
|
|
||
|
// V6_vL32b_tmp_pred_ai
|
||
|
// if (Pv4) Vd32.tmp=vmem(Rt32+#s4)
|
||
|
if (p0) v0.tmp=vmem(r0+#0)
|
||
|
# CHECK-NEXT: 2880c0c0 { if (p0) v0.tmp = vmem(r0+#0) }
|
||
|
|
||
|
// V6_vL32b_tmp_pred_pi
|
||
|
// if (Pv4) Vd32.tmp=vmem(Rx32++#s3)
|
||
|
if (p0) v0.tmp=vmem(r0++#0)
|
||
|
# CHECK-NEXT: 2980c0c0 { if (p0) v0.tmp = vmem(r0++#0) }
|
||
|
|
||
|
// V6_vL32b_tmp_pred_ppu
|
||
|
// if (Pv4) Vd32.tmp=vmem(Rx32++Mu2)
|
||
|
if (p0) v0.tmp=vmem(r0++m0)
|
||
|
# CHECK-NEXT: 2b80c0c0 { if (p0) v0.tmp = vmem(r0++m0) }
|
||
|
|
||
|
// V6_vS32Ub_ai
|
||
|
// vmemu(Rt32+#s4)=Vs32
|
||
|
vmemu(r0+#0)=v0
|
||
|
# CHECK-NEXT: 2820c0e0 { vmemu(r0+#0) = v0 }
|
||
|
|
||
|
// V6_vS32Ub_npred_ai
|
||
|
// if (!Pv4) vmemu(Rt32+#s4)=Vs32
|
||
|
if (!p0) vmemu(r0+#0)=v0
|
||
|
# CHECK-NEXT: 28a0c0e0 { if (!p0) vmemu(r0+#0) = v0 }
|
||
|
|
||
|
// V6_vS32Ub_npred_pi
|
||
|
// if (!Pv4) vmemu(Rx32++#s3)=Vs32
|
||
|
if (!p0) vmemu(r0++#0)=v0
|
||
|
# CHECK-NEXT: 29a0c0e0 { if (!p0) vmemu(r0++#0) = v0 }
|
||
|
|
||
|
// V6_vS32Ub_npred_ppu
|
||
|
// if (!Pv4) vmemu(Rx32++Mu2)=Vs32
|
||
|
if (!p0) vmemu(r0++m0)=v0
|
||
|
# CHECK-NEXT: 2ba0c0e0 { if (!p0) vmemu(r0++m0) = v0 }
|
||
|
|
||
|
// V6_vS32Ub_pi
|
||
|
// vmemu(Rx32++#s3)=Vs32
|
||
|
vmemu(r0++#0)=v0
|
||
|
# CHECK-NEXT: 2920c0e0 { vmemu(r0++#0) = v0 }
|
||
|
|
||
|
// V6_vS32Ub_ppu
|
||
|
// vmemu(Rx32++Mu2)=Vs32
|
||
|
vmemu(r0++m0)=v0
|
||
|
# CHECK-NEXT: 2b20c0e0 { vmemu(r0++m0) = v0 }
|
||
|
|
||
|
// V6_vS32Ub_pred_ai
|
||
|
// if (Pv4) vmemu(Rt32+#s4)=Vs32
|
||
|
if (p0) vmemu(r0+#0)=v0
|
||
|
# CHECK-NEXT: 28a0c0c0 { if (p0) vmemu(r0+#0) = v0 }
|
||
|
|
||
|
// V6_vS32Ub_pred_pi
|
||
|
// if (Pv4) vmemu(Rx32++#s3)=Vs32
|
||
|
if (p0) vmemu(r0++#0)=v0
|
||
|
# CHECK-NEXT: 29a0c0c0 { if (p0) vmemu(r0++#0) = v0 }
|
||
|
|
||
|
// V6_vS32Ub_pred_ppu
|
||
|
// if (Pv4) vmemu(Rx32++Mu2)=Vs32
|
||
|
if (p0) vmemu(r0++m0)=v0
|
||
|
# CHECK-NEXT: 2ba0c0c0 { if (p0) vmemu(r0++m0) = v0 }
|
||
|
|
||
|
// V6_vS32b_ai
|
||
|
// vmem(Rt32+#s4)=Vs32
|
||
|
vmem(r0+#0)=v0
|
||
|
# CHECK-NEXT: 2820c000 { vmem(r0+#0) = v0 }
|
||
|
|
||
|
// V6_vS32b_new_ai
|
||
|
// vmem(Rt32+#s4)=Os8.new
|
||
|
{
|
||
|
v0 = v1
|
||
|
vmem(r0+#0)=v0.new
|
||
|
}
|
||
|
# CHECK-NEXT: 1e0361e0 { v0 = v1
|
||
|
# CHECK-NEXT: 2820c022 vmem(r0+#0) = v0.new }
|
||
|
|
||
|
// V6_vS32b_new_npred_ai
|
||
|
// if (!Pv4) vmem(Rt32+#s4)=Os8.new
|
||
|
{
|
||
|
v0 = v1
|
||
|
if (!p0) vmem(r0+#0)=v0.new
|
||
|
}
|
||
|
# CHECK-NEXT: 1e0361e0 { v0 = v1
|
||
|
# CHECK-NEXT: 28a0c06a if (!p0) vmem(r0+#0) = v0.new }
|
||
|
|
||
|
// V6_vS32b_new_npred_pi
|
||
|
// if (!Pv4) vmem(Rx32++#s3)=Os8.new
|
||
|
{
|
||
|
v0 = v1
|
||
|
if (!p0) vmem(r0++#0)=v0.new
|
||
|
}
|
||
|
# CHECK-NEXT: 1e0361e0 { v0 = v1
|
||
|
# CHECK-NEXT: 29a0c06a if (!p0) vmem(r0++#0) = v0.new }
|
||
|
|
||
|
// V6_vS32b_new_npred_ppu
|
||
|
// if (!Pv4) vmem(Rx32++Mu2)=Os8.new
|
||
|
{
|
||
|
v0 = v1
|
||
|
if (!p0) vmem(r0++m0)=v0.new
|
||
|
}
|
||
|
# CHECK-NEXT: 1e0361e0 { v0 = v1
|
||
|
# CHECK-NEXT: 2ba0c06a if (!p0) vmem(r0++m0) = v0.new }
|
||
|
|
||
|
// V6_vS32b_new_pi
|
||
|
// vmem(Rx32++#s3)=Os8.new
|
||
|
{
|
||
|
v0 = v1
|
||
|
vmem(r0++#0)=v0.new
|
||
|
}
|
||
|
# CHECK-NEXT: 1e0361e0 { v0 = v1
|
||
|
# CHECK-NEXT: 2920c022 vmem(r0++#0) = v0.new }
|
||
|
|
||
|
// V6_vS32b_new_ppu
|
||
|
// vmem(Rx32++Mu2)=Os8.new
|
||
|
{
|
||
|
v0 = v1
|
||
|
vmem(r0++m0)=v0.new
|
||
|
}
|
||
|
# CHECK-NEXT: 1e0361e0 { v0 = v1
|
||
|
# CHECK-NEXT: 2b20c022 vmem(r0++m0) = v0.new }
|
||
|
|
||
|
// V6_vS32b_new_pred_ai
|
||
|
// if (Pv4) vmem(Rt32+#s4)=Os8.new
|
||
|
{
|
||
|
v0 = v1
|
||
|
if (p0) vmem(r0+#0)=v0.new
|
||
|
}
|
||
|
# CHECK-NEXT: 1e0361e0 { v0 = v1
|
||
|
# CHECK-NEXT: 28a0c042 if (p0) vmem(r0+#0) = v0.new }
|
||
|
|
||
|
// V6_vS32b_new_pred_pi
|
||
|
// if (Pv4) vmem(Rx32++#s3)=Os8.new
|
||
|
{
|
||
|
v0 = v1
|
||
|
if (p0) vmem(r0++#0)=v0.new
|
||
|
}
|
||
|
# CHECK-NEXT: 1e0361e0 { v0 = v1
|
||
|
# CHECK-NEXT: 29a0c042 if (p0) vmem(r0++#0) = v0.new }
|
||
|
|
||
|
// V6_vS32b_new_pred_ppu
|
||
|
// if (Pv4) vmem(Rx32++Mu2)=Os8.new
|
||
|
{
|
||
|
v0 = v1
|
||
|
if (p0) vmem(r0++m0)=v0.new
|
||
|
}
|
||
|
# CHECK-NEXT: 1e0361e0 { v0 = v1
|
||
|
# CHECK-NEXT: 2ba0c042 if (p0) vmem(r0++m0) = v0.new }
|
||
|
|
||
|
// V6_vS32b_npred_ai
|
||
|
// if (!Pv4) vmem(Rt32+#s4)=Vs32
|
||
|
if (!p0) vmem(r0+#0)=v0
|
||
|
# CHECK-NEXT: 28a0c020 { if (!p0) vmem(r0+#0) = v0 }
|
||
|
|
||
|
// V6_vS32b_npred_pi
|
||
|
// if (!Pv4) vmem(Rx32++#s3)=Vs32
|
||
|
if (!p0) vmem(r0++#0)=v0
|
||
|
# CHECK-NEXT: 29a0c020 { if (!p0) vmem(r0++#0) = v0 }
|
||
|
|
||
|
// V6_vS32b_npred_ppu
|
||
|
// if (!Pv4) vmem(Rx32++Mu2)=Vs32
|
||
|
if (!p0) vmem(r0++m0)=v0
|
||
|
# CHECK-NEXT: 2ba0c020 { if (!p0) vmem(r0++m0) = v0 }
|
||
|
|
||
|
// V6_vS32b_nqpred_ai
|
||
|
// if (!Qv4) vmem(Rt32+#s4)=Vs32
|
||
|
if (!q0) vmem(r0+#0)=v0
|
||
|
# CHECK-NEXT: 2880c020 { if (!q0) vmem(r0+#0) = v0 }
|
||
|
|
||
|
// V6_vS32b_nqpred_pi
|
||
|
// if (!Qv4) vmem(Rx32++#s3)=Vs32
|
||
|
if (!q0) vmem(r0++#0)=v0
|
||
|
# CHECK-NEXT: 2980c020 { if (!q0) vmem(r0++#0) = v0 }
|
||
|
|
||
|
// V6_vS32b_nqpred_ppu
|
||
|
// if (!Qv4) vmem(Rx32++Mu2)=Vs32
|
||
|
if (!q0) vmem(r0++m0)=v0
|
||
|
# CHECK-NEXT: 2b80c020 { if (!q0) vmem(r0++m0) = v0 }
|
||
|
|
||
|
// V6_vS32b_nt_ai
|
||
|
// vmem(Rt32+#s4):nt=Vs32
|
||
|
vmem(r0+#0):nt=v0
|
||
|
# CHECK-NEXT: 2860c000 { vmem(r0+#0):nt = v0 }
|
||
|
|
||
|
// V6_vS32b_nt_new_ai
|
||
|
// vmem(Rt32+#s4):nt=Os8.new
|
||
|
{
|
||
|
v0 = v1
|
||
|
vmem(r0+#0):nt=v0.new
|
||
|
}
|
||
|
# CHECK-NEXT: 1e0361e0 { v0 = v1
|
||
|
# CHECK-NEXT: 2860c022 vmem(r0+#0):nt = v0.new }
|
||
|
|
||
|
// V6_vS32b_nt_new_npred_ai
|
||
|
// if (!Pv4) vmem(Rt32+#s4):nt=Os8.new
|
||
|
{
|
||
|
v0 = v1
|
||
|
if (!p0) vmem(r0+#0):nt=v0.new
|
||
|
}
|
||
|
# CHECK-NEXT: 1e0361e0 { v0 = v1
|
||
|
# CHECK-NEXT: 28e0c07a if (!p0) vmem(r0+#0):nt = v0.new }
|
||
|
|
||
|
// V6_vS32b_nt_new_npred_pi
|
||
|
// if (!Pv4) vmem(Rx32++#s3):nt=Os8.new
|
||
|
{
|
||
|
v0 = v1
|
||
|
if (!p0) vmem(r0++#0):nt=v0.new
|
||
|
}
|
||
|
# CHECK-NEXT: 1e0361e0 { v0 = v1
|
||
|
# CHECK-NEXT: 29e0c07a if (!p0) vmem(r0++#0):nt = v0.new }
|
||
|
|
||
|
// V6_vS32b_nt_new_npred_ppu
|
||
|
// if (!Pv4) vmem(Rx32++Mu2):nt=Os8.new
|
||
|
{
|
||
|
v0 = v1
|
||
|
if (!p0) vmem(r0++m0):nt=v0.new
|
||
|
}
|
||
|
# CHECK-NEXT: 1e0361e0 { v0 = v1
|
||
|
# CHECK-NEXT: 2be0c07a if (!p0) vmem(r0++m0):nt = v0.new }
|
||
|
|
||
|
// V6_vS32b_nt_new_pi
|
||
|
// vmem(Rx32++#s3):nt=Os8.new
|
||
|
{
|
||
|
v0 = v1
|
||
|
vmem(r0++#0):nt=v0.new
|
||
|
}
|
||
|
# CHECK-NEXT: 1e0361e0 { v0 = v1
|
||
|
# CHECK-NEXT: 2960c022 vmem(r0++#0):nt = v0.new }
|
||
|
|
||
|
// V6_vS32b_nt_new_ppu
|
||
|
// vmem(Rx32++Mu2):nt=Os8.new
|
||
|
{
|
||
|
v0 = v1
|
||
|
vmem(r0++m0):nt=v0.new
|
||
|
}
|
||
|
# CHECK-NEXT: 1e0361e0 { v0 = v1
|
||
|
# CHECK-NEXT: 2b60c022 vmem(r0++m0):nt = v0.new }
|
||
|
|
||
|
// V6_vS32b_nt_new_pred_ai
|
||
|
// if (Pv4) vmem(Rt32+#s4):nt=Os8.new
|
||
|
{
|
||
|
v0 = v1
|
||
|
if (p0) vmem(r0+#0):nt=v0.new
|
||
|
}
|
||
|
# CHECK-NEXT: 1e0361e0 { v0 = v1
|
||
|
# CHECK-NEXT: 28e0c052 if (p0) vmem(r0+#0):nt = v0.new }
|
||
|
|
||
|
// V6_vS32b_nt_new_pred_pi
|
||
|
// if (Pv4) vmem(Rx32++#s3):nt=Os8.new
|
||
|
{
|
||
|
v0 = v1
|
||
|
if (p0) vmem(r0++#0):nt=v0.new
|
||
|
}
|
||
|
# CHECK-NEXT: 1e0361e0 { v0 = v1
|
||
|
# CHECK-NEXT: 29e0c052 if (p0) vmem(r0++#0):nt = v0.new }
|
||
|
|
||
|
// V6_vS32b_nt_new_pred_ppu
|
||
|
// if (Pv4) vmem(Rx32++Mu2):nt=Os8.new
|
||
|
{
|
||
|
v0 = v1
|
||
|
if (p0) vmem(r0++m0):nt=v0.new
|
||
|
}
|
||
|
# CHECK-NEXT: 1e0361e0 { v0 = v1
|
||
|
# CHECK-NEXT: 2be0c052 if (p0) vmem(r0++m0):nt = v0.new }
|
||
|
|
||
|
// V6_vS32b_nt_npred_ai
|
||
|
// if (!Pv4) vmem(Rt32+#s4):nt=Vs32
|
||
|
if (!p0) vmem(r0+#0):nt=v0
|
||
|
# CHECK-NEXT: 28e0c020 { if (!p0) vmem(r0+#0):nt = v0 }
|
||
|
|
||
|
// V6_vS32b_nt_npred_pi
|
||
|
// if (!Pv4) vmem(Rx32++#s3):nt=Vs32
|
||
|
if (!p0) vmem(r0++#0):nt=v0
|
||
|
# CHECK-NEXT: 29e0c020 { if (!p0) vmem(r0++#0):nt = v0 }
|
||
|
|
||
|
// V6_vS32b_nt_npred_ppu
|
||
|
// if (!Pv4) vmem(Rx32++Mu2):nt=Vs32
|
||
|
if (!p0) vmem(r0++m0):nt=v0
|
||
|
# CHECK-NEXT: 2be0c020 { if (!p0) vmem(r0++m0):nt = v0 }
|
||
|
|
||
|
// V6_vS32b_nt_nqpred_ai
|
||
|
// if (!Qv4) vmem(Rt32+#s4):nt=Vs32
|
||
|
if (!q0) vmem(r0+#0):nt=v0
|
||
|
# CHECK-NEXT: 28c0c020 { if (!q0) vmem(r0+#0):nt = v0 }
|
||
|
|
||
|
// V6_vS32b_nt_nqpred_pi
|
||
|
// if (!Qv4) vmem(Rx32++#s3):nt=Vs32
|
||
|
if (!q0) vmem(r0++#0):nt=v0
|
||
|
# CHECK-NEXT: 29c0c020 { if (!q0) vmem(r0++#0):nt = v0 }
|
||
|
|
||
|
// V6_vS32b_nt_nqpred_ppu
|
||
|
// if (!Qv4) vmem(Rx32++Mu2):nt=Vs32
|
||
|
if (!q0) vmem(r0++m0):nt=v0
|
||
|
# CHECK-NEXT: 2bc0c020 { if (!q0) vmem(r0++m0):nt = v0 }
|
||
|
|
||
|
// V6_vS32b_nt_pi
|
||
|
// vmem(Rx32++#s3):nt=Vs32
|
||
|
vmem(r0++#0):nt=v0
|
||
|
# CHECK-NEXT: 2960c000 { vmem(r0++#0):nt = v0 }
|
||
|
|
||
|
// V6_vS32b_nt_ppu
|
||
|
// vmem(Rx32++Mu2):nt=Vs32
|
||
|
vmem(r0++m0):nt=v0
|
||
|
# CHECK-NEXT: 2b60c000 { vmem(r0++m0):nt = v0 }
|
||
|
|
||
|
// V6_vS32b_nt_pred_ai
|
||
|
// if (Pv4) vmem(Rt32+#s4):nt=Vs32
|
||
|
if (p0) vmem(r0+#0):nt=v0
|
||
|
# CHECK-NEXT: 28e0c000 { if (p0) vmem(r0+#0):nt = v0 }
|
||
|
|
||
|
// V6_vS32b_nt_pred_pi
|
||
|
// if (Pv4) vmem(Rx32++#s3):nt=Vs32
|
||
|
if (p0) vmem(r0++#0):nt=v0
|
||
|
# CHECK-NEXT: 29e0c000 { if (p0) vmem(r0++#0):nt = v0 }
|
||
|
|
||
|
// V6_vS32b_nt_pred_ppu
|
||
|
// if (Pv4) vmem(Rx32++Mu2):nt=Vs32
|
||
|
if (p0) vmem(r0++m0):nt=v0
|
||
|
# CHECK-NEXT: 2be0c000 { if (p0) vmem(r0++m0):nt = v0 }
|
||
|
|
||
|
// V6_vS32b_nt_qpred_ai
|
||
|
// if (Qv4) vmem(Rt32+#s4):nt=Vs32
|
||
|
if (q0) vmem(r0+#0):nt=v0
|
||
|
# CHECK-NEXT: 28c0c000 { if (q0) vmem(r0+#0):nt = v0 }
|
||
|
|
||
|
// V6_vS32b_nt_qpred_pi
|
||
|
// if (Qv4) vmem(Rx32++#s3):nt=Vs32
|
||
|
if (q0) vmem(r0++#0):nt=v0
|
||
|
# CHECK-NEXT: 29c0c000 { if (q0) vmem(r0++#0):nt = v0 }
|
||
|
|
||
|
// V6_vS32b_nt_qpred_ppu
|
||
|
// if (Qv4) vmem(Rx32++Mu2):nt=Vs32
|
||
|
if (q0) vmem(r0++m0):nt=v0
|
||
|
# CHECK-NEXT: 2bc0c000 { if (q0) vmem(r0++m0):nt = v0 }
|
||
|
|
||
|
// V6_vS32b_pi
|
||
|
// vmem(Rx32++#s3)=Vs32
|
||
|
vmem(r0++#0)=v0
|
||
|
# CHECK-NEXT: 2920c000 { vmem(r0++#0) = v0 }
|
||
|
|
||
|
// V6_vS32b_ppu
|
||
|
// vmem(Rx32++Mu2)=Vs32
|
||
|
vmem(r0++m0)=v0
|
||
|
# CHECK-NEXT: 2b20c000 { vmem(r0++m0) = v0 }
|
||
|
|
||
|
// V6_vS32b_pred_ai
|
||
|
// if (Pv4) vmem(Rt32+#s4)=Vs32
|
||
|
if (p0) vmem(r0+#0)=v0
|
||
|
# CHECK-NEXT: 28a0c000 { if (p0) vmem(r0+#0) = v0 }
|
||
|
|
||
|
// V6_vS32b_pred_pi
|
||
|
// if (Pv4) vmem(Rx32++#s3)=Vs32
|
||
|
if (p0) vmem(r0++#0)=v0
|
||
|
# CHECK-NEXT: 29a0c000 { if (p0) vmem(r0++#0) = v0 }
|
||
|
|
||
|
// V6_vS32b_pred_ppu
|
||
|
// if (Pv4) vmem(Rx32++Mu2)=Vs32
|
||
|
if (p0) vmem(r0++m0)=v0
|
||
|
# CHECK-NEXT: 2ba0c000 { if (p0) vmem(r0++m0) = v0 }
|
||
|
|
||
|
// V6_vS32b_qpred_ai
|
||
|
// if (Qv4) vmem(Rt32+#s4)=Vs32
|
||
|
if (q0) vmem(r0+#0)=v0
|
||
|
# CHECK-NEXT: 2880c000 { if (q0) vmem(r0+#0) = v0 }
|
||
|
|
||
|
// V6_vS32b_qpred_pi
|
||
|
// if (Qv4) vmem(Rx32++#s3)=Vs32
|
||
|
if (q0) vmem(r0++#0)=v0
|
||
|
# CHECK-NEXT: 2980c000 { if (q0) vmem(r0++#0) = v0 }
|
||
|
|
||
|
// V6_vS32b_qpred_ppu
|
||
|
// if (Qv4) vmem(Rx32++Mu2)=Vs32
|
||
|
if (q0) vmem(r0++m0)=v0
|
||
|
# CHECK-NEXT: 2b80c000 { if (q0) vmem(r0++m0) = v0 }
|
||
|
|
||
|
// V6_vS32b_srls_ai
|
||
|
// vmem(Rt32+#s4):scatter_release
|
||
|
vmem(r0+#0):scatter_release
|
||
|
# CHECK-NEXT: 2820c028 { vmem(r0+#0):scatter_release }
|
||
|
|
||
|
// V6_vS32b_srls_pi
|
||
|
// vmem(Rx32++#s3):scatter_release
|
||
|
vmem(r0++#0):scatter_release
|
||
|
# CHECK-NEXT: 2920c028 { vmem(r0++#0):scatter_release }
|
||
|
|
||
|
// V6_vS32b_srls_ppu
|
||
|
// vmem(Rx32++Mu2):scatter_release
|
||
|
vmem(r0++m0):scatter_release
|
||
|
# CHECK-NEXT: 2b20c028 { vmem(r0++m0):scatter_release }
|
||
|
|
||
|
// V6_vabsb
|
||
|
// Vd32.b=vabs(Vu32.b)
|
||
|
v0.b=vabs(v0.b)
|
||
|
# CHECK-NEXT: 1e01c080 { v0.b = vabs(v0.b) }
|
||
|
|
||
|
// V6_vabsb_sat
|
||
|
// Vd32.b=vabs(Vu32.b):sat
|
||
|
v0.b=vabs(v0.b):sat
|
||
|
# CHECK-NEXT: 1e01c0a0 { v0.b = vabs(v0.b):sat }
|
||
|
|
||
|
// V6_vabsdiffh
|
||
|
// Vd32.uh=vabsdiff(Vu32.h,Vv32.h)
|
||
|
v0.uh=vabsdiff(v0.h,v0.h)
|
||
|
# CHECK-NEXT: 1cc0c020 { v0.uh = vabsdiff(v0.h,v0.h) }
|
||
|
|
||
|
// V6_vabsdiffub
|
||
|
// Vd32.ub=vabsdiff(Vu32.ub,Vv32.ub)
|
||
|
v0.ub=vabsdiff(v0.ub,v0.ub)
|
||
|
# CHECK-NEXT: 1cc0c000 { v0.ub = vabsdiff(v0.ub,v0.ub) }
|
||
|
|
||
|
// V6_vabsdiffuh
|
||
|
// Vd32.uh=vabsdiff(Vu32.uh,Vv32.uh)
|
||
|
v0.uh=vabsdiff(v0.uh,v0.uh)
|
||
|
# CHECK-NEXT: 1cc0c040 { v0.uh = vabsdiff(v0.uh,v0.uh) }
|
||
|
|
||
|
// V6_vabsdiffw
|
||
|
// Vd32.uw=vabsdiff(Vu32.w,Vv32.w)
|
||
|
v0.uw=vabsdiff(v0.w,v0.w)
|
||
|
# CHECK-NEXT: 1cc0c060 { v0.uw = vabsdiff(v0.w,v0.w) }
|
||
|
|
||
|
// V6_vabsh
|
||
|
// Vd32.h=vabs(Vu32.h)
|
||
|
v0.h=vabs(v0.h)
|
||
|
# CHECK-NEXT: 1e00c000 { v0.h = vabs(v0.h) }
|
||
|
|
||
|
// V6_vabsh_sat
|
||
|
// Vd32.h=vabs(Vu32.h):sat
|
||
|
v0.h=vabs(v0.h):sat
|
||
|
# CHECK-NEXT: 1e00c020 { v0.h = vabs(v0.h):sat }
|
||
|
|
||
|
// V6_vabsw
|
||
|
// Vd32.w=vabs(Vu32.w)
|
||
|
v0.w=vabs(v0.w)
|
||
|
# CHECK-NEXT: 1e00c040 { v0.w = vabs(v0.w) }
|
||
|
|
||
|
// V6_vabsw_sat
|
||
|
// Vd32.w=vabs(Vu32.w):sat
|
||
|
v0.w=vabs(v0.w):sat
|
||
|
# CHECK-NEXT: 1e00c060 { v0.w = vabs(v0.w):sat }
|
||
|
|
||
|
// V6_vaddb
|
||
|
// Vd32.b=vadd(Vu32.b,Vv32.b)
|
||
|
v0.b=vadd(v0.b,v0.b)
|
||
|
# CHECK-NEXT: 1fa0c0c0 { v0.b = vadd(v0.b,v0.b) }
|
||
|
|
||
|
// V6_vaddb_dv
|
||
|
// Vdd32.b=vadd(Vuu32.b,Vvv32.b)
|
||
|
v1:0.b=vadd(v1:0.b,v1:0.b)
|
||
|
# CHECK-NEXT: 1c60c080 { v1:0.b = vadd(v1:0.b,v1:0.b) }
|
||
|
|
||
|
// V6_vaddbnq
|
||
|
// if (!Qv4) Vx32.b+=Vu32.b
|
||
|
if (!q0) v0.b+=v0.b
|
||
|
# CHECK-NEXT: 1e01e060 { if (!q0) v0.b += v0.b }
|
||
|
|
||
|
// V6_vaddbq
|
||
|
// if (Qv4) Vx32.b+=Vu32.b
|
||
|
if (q0) v0.b+=v0.b
|
||
|
# CHECK-NEXT: 1e01e000 { if (q0) v0.b += v0.b }
|
||
|
|
||
|
// V6_vaddbsat
|
||
|
// Vd32.b=vadd(Vu32.b,Vv32.b):sat
|
||
|
v0.b=vadd(v0.b,v0.b):sat
|
||
|
# CHECK-NEXT: 1f00c000 { v0.b = vadd(v0.b,v0.b):sat }
|
||
|
|
||
|
// V6_vaddbsat_dv
|
||
|
// Vdd32.b=vadd(Vuu32.b,Vvv32.b):sat
|
||
|
v1:0.b=vadd(v1:0.b,v1:0.b):sat
|
||
|
# CHECK-NEXT: 1ea0c000 { v1:0.b = vadd(v1:0.b,v1:0.b):sat }
|
||
|
|
||
|
// V6_vaddcarry
|
||
|
// Vd32.w=vadd(Vu32.w,Vv32.w,Qx4):carry
|
||
|
v0.w=vadd(v0.w,v0.w,q0):carry
|
||
|
# CHECK-NEXT: 1ca0e000 { v0.w = vadd(v0.w,v0.w,q0):carry }
|
||
|
|
||
|
// V6_vaddcarryo
|
||
|
// Vd32.w,Qe4=vadd(Vu32.w,Vv32.w):carry
|
||
|
v0.w,q0=vadd(v0.w,v0.w):carry
|
||
|
# CHECK-NEXT: 1da0e000 { v0.w,q0 = vadd(v0.w,v0.w):carry }
|
||
|
|
||
|
// V6_vaddcarrysat
|
||
|
// Vd32.w=vadd(Vu32.w,Vv32.w,Qs4):carry:sat
|
||
|
v0.w=vadd(v0.w,v0.w,q0):carry:sat
|
||
|
# CHECK-NEXT: 1d80e000 { v0.w = vadd(v0.w,v0.w,q0):carry:sat }
|
||
|
|
||
|
// V6_vaddclbh
|
||
|
// Vd32.h=vadd(vclb(Vu32.h),Vv32.h)
|
||
|
v0.h=vadd(vclb(v0.h),v0.h)
|
||
|
# CHECK-NEXT: 1f00e000 { v0.h = vadd(vclb(v0.h),v0.h) }
|
||
|
|
||
|
// V6_vaddclbw
|
||
|
// Vd32.w=vadd(vclb(Vu32.w),Vv32.w)
|
||
|
v0.w=vadd(vclb(v0.w),v0.w)
|
||
|
# CHECK-NEXT: 1f00e020 { v0.w = vadd(vclb(v0.w),v0.w) }
|
||
|
|
||
|
// V6_vaddh
|
||
|
// Vd32.h=vadd(Vu32.h,Vv32.h)
|
||
|
v0.h=vadd(v0.h,v0.h)
|
||
|
# CHECK-NEXT: 1fa0c0e0 { v0.h = vadd(v0.h,v0.h) }
|
||
|
|
||
|
// V6_vaddh_dv
|
||
|
// Vdd32.h=vadd(Vuu32.h,Vvv32.h)
|
||
|
v1:0.h=vadd(v1:0.h,v1:0.h)
|
||
|
# CHECK-NEXT: 1c60c0a0 { v1:0.h = vadd(v1:0.h,v1:0.h) }
|
||
|
|
||
|
// V6_vaddhnq
|
||
|
// if (!Qv4) Vx32.h+=Vu32.h
|
||
|
if (!q0) v0.h+=v0.h
|
||
|
# CHECK-NEXT: 1e01e080 { if (!q0) v0.h += v0.h }
|
||
|
|
||
|
// V6_vaddhq
|
||
|
// if (Qv4) Vx32.h+=Vu32.h
|
||
|
if (q0) v0.h+=v0.h
|
||
|
# CHECK-NEXT: 1e01e020 { if (q0) v0.h += v0.h }
|
||
|
|
||
|
// V6_vaddhsat
|
||
|
// Vd32.h=vadd(Vu32.h,Vv32.h):sat
|
||
|
v0.h=vadd(v0.h,v0.h):sat
|
||
|
# CHECK-NEXT: 1c40c060 { v0.h = vadd(v0.h,v0.h):sat }
|
||
|
|
||
|
// V6_vaddhsat_dv
|
||
|
// Vdd32.h=vadd(Vuu32.h,Vvv32.h):sat
|
||
|
v1:0.h=vadd(v1:0.h,v1:0.h):sat
|
||
|
# CHECK-NEXT: 1c80c020 { v1:0.h = vadd(v1:0.h,v1:0.h):sat }
|
||
|
|
||
|
// V6_vaddhw
|
||
|
// Vdd32.w=vadd(Vu32.h,Vv32.h)
|
||
|
v1:0.w=vadd(v0.h,v0.h)
|
||
|
# CHECK-NEXT: 1ca0c080 { v1:0.w = vadd(v0.h,v0.h) }
|
||
|
|
||
|
// V6_vaddhw_acc
|
||
|
// Vxx32.w+=vadd(Vu32.h,Vv32.h)
|
||
|
v1:0.w+=vadd(v0.h,v0.h)
|
||
|
# CHECK-NEXT: 1c20e040 { v1:0.w += vadd(v0.h,v0.h) }
|
||
|
|
||
|
// V6_vaddubh
|
||
|
// Vdd32.h=vadd(Vu32.ub,Vv32.ub)
|
||
|
v1:0.h=vadd(v0.ub,v0.ub)
|
||
|
# CHECK-NEXT: 1ca0c040 { v1:0.h = vadd(v0.ub,v0.ub) }
|
||
|
|
||
|
// V6_vaddubh_acc
|
||
|
// Vxx32.h+=vadd(Vu32.ub,Vv32.ub)
|
||
|
v1:0.h+=vadd(v0.ub,v0.ub)
|
||
|
# CHECK-NEXT: 1c40e0a0 { v1:0.h += vadd(v0.ub,v0.ub) }
|
||
|
|
||
|
// V6_vaddubsat
|
||
|
// Vd32.ub=vadd(Vu32.ub,Vv32.ub):sat
|
||
|
v0.ub=vadd(v0.ub,v0.ub):sat
|
||
|
# CHECK-NEXT: 1c40c020 { v0.ub = vadd(v0.ub,v0.ub):sat }
|
||
|
|
||
|
// V6_vaddubsat_dv
|
||
|
// Vdd32.ub=vadd(Vuu32.ub,Vvv32.ub):sat
|
||
|
v1:0.ub=vadd(v1:0.ub,v1:0.ub):sat
|
||
|
# CHECK-NEXT: 1c60c0e0 { v1:0.ub = vadd(v1:0.ub,v1:0.ub):sat }
|
||
|
|
||
|
// V6_vaddububb_sat
|
||
|
// Vd32.ub=vadd(Vu32.ub,Vv32.b):sat
|
||
|
v0.ub=vadd(v0.ub,v0.b):sat
|
||
|
# CHECK-NEXT: 1ea0c080 { v0.ub = vadd(v0.ub,v0.b):sat }
|
||
|
|
||
|
// V6_vadduhsat
|
||
|
// Vd32.uh=vadd(Vu32.uh,Vv32.uh):sat
|
||
|
v0.uh=vadd(v0.uh,v0.uh):sat
|
||
|
# CHECK-NEXT: 1c40c040 { v0.uh = vadd(v0.uh,v0.uh):sat }
|
||
|
|
||
|
// V6_vadduhsat_dv
|
||
|
// Vdd32.uh=vadd(Vuu32.uh,Vvv32.uh):sat
|
||
|
v1:0.uh=vadd(v1:0.uh,v1:0.uh):sat
|
||
|
# CHECK-NEXT: 1c80c000 { v1:0.uh = vadd(v1:0.uh,v1:0.uh):sat }
|
||
|
|
||
|
// V6_vadduhw
|
||
|
// Vdd32.w=vadd(Vu32.uh,Vv32.uh)
|
||
|
v1:0.w=vadd(v0.uh,v0.uh)
|
||
|
# CHECK-NEXT: 1ca0c060 { v1:0.w = vadd(v0.uh,v0.uh) }
|
||
|
|
||
|
// V6_vadduhw_acc
|
||
|
// Vxx32.w+=vadd(Vu32.uh,Vv32.uh)
|
||
|
v1:0.w+=vadd(v0.uh,v0.uh)
|
||
|
# CHECK-NEXT: 1c40e080 { v1:0.w += vadd(v0.uh,v0.uh) }
|
||
|
|
||
|
// V6_vadduwsat
|
||
|
// Vd32.uw=vadd(Vu32.uw,Vv32.uw):sat
|
||
|
v0.uw=vadd(v0.uw,v0.uw):sat
|
||
|
# CHECK-NEXT: 1f60c020 { v0.uw = vadd(v0.uw,v0.uw):sat }
|
||
|
|
||
|
// V6_vadduwsat_dv
|
||
|
// Vdd32.uw=vadd(Vuu32.uw,Vvv32.uw):sat
|
||
|
v1:0.uw=vadd(v1:0.uw,v1:0.uw):sat
|
||
|
# CHECK-NEXT: 1ea0c040 { v1:0.uw = vadd(v1:0.uw,v1:0.uw):sat }
|
||
|
|
||
|
// V6_vaddw
|
||
|
// Vd32.w=vadd(Vu32.w,Vv32.w)
|
||
|
v0.w=vadd(v0.w,v0.w)
|
||
|
# CHECK-NEXT: 1c40c000 { v0.w = vadd(v0.w,v0.w) }
|
||
|
|
||
|
// V6_vaddw_dv
|
||
|
// Vdd32.w=vadd(Vuu32.w,Vvv32.w)
|
||
|
v1:0.w=vadd(v1:0.w,v1:0.w)
|
||
|
# CHECK-NEXT: 1c60c0c0 { v1:0.w = vadd(v1:0.w,v1:0.w) }
|
||
|
|
||
|
// V6_vaddwnq
|
||
|
// if (!Qv4) Vx32.w+=Vu32.w
|
||
|
if (!q0) v0.w+=v0.w
|
||
|
# CHECK-NEXT: 1e01e0a0 { if (!q0) v0.w += v0.w }
|
||
|
|
||
|
// V6_vaddwq
|
||
|
// if (Qv4) Vx32.w+=Vu32.w
|
||
|
if (q0) v0.w+=v0.w
|
||
|
# CHECK-NEXT: 1e01e040 { if (q0) v0.w += v0.w }
|
||
|
|
||
|
// V6_vaddwsat
|
||
|
// Vd32.w=vadd(Vu32.w,Vv32.w):sat
|
||
|
v0.w=vadd(v0.w,v0.w):sat
|
||
|
# CHECK-NEXT: 1c40c080 { v0.w = vadd(v0.w,v0.w):sat }
|
||
|
|
||
|
// V6_vaddwsat_dv
|
||
|
// Vdd32.w=vadd(Vuu32.w,Vvv32.w):sat
|
||
|
v1:0.w=vadd(v1:0.w,v1:0.w):sat
|
||
|
# CHECK-NEXT: 1c80c040 { v1:0.w = vadd(v1:0.w,v1:0.w):sat }
|
||
|
|
||
|
// V6_valignb
|
||
|
// Vd32=valign(Vu32,Vv32,Rt8)
|
||
|
v0=valign(v0,v0,r0)
|
||
|
# CHECK-NEXT: 1b00c000 { v0 = valign(v0,v0,r0) }
|
||
|
|
||
|
// V6_valignbi
|
||
|
// Vd32=valign(Vu32,Vv32,#u3)
|
||
|
v0=valign(v0,v0,#0)
|
||
|
# CHECK-NEXT: 1e20e000 { v0 = valign(v0,v0,#0) }
|
||
|
|
||
|
// V6_vand
|
||
|
// Vd32=vand(Vu32,Vv32)
|
||
|
v0=vand(v0,v0)
|
||
|
# CHECK-NEXT: 1c20c0a0 { v0 = vand(v0,v0) }
|
||
|
|
||
|
// V6_vandnqrt
|
||
|
// Vd32=vand(!Qu4,Rt32)
|
||
|
v0=vand(!q0,r0)
|
||
|
# CHECK-NEXT: 19a0c4a0 { v0 = vand(!q0,r0) }
|
||
|
|
||
|
// V6_vandnqrt_acc
|
||
|
// Vx32|=vand(!Qu4,Rt32)
|
||
|
v0|=vand(!q0,r0)
|
||
|
# CHECK-NEXT: 1960e460 { v0 |= vand(!q0,r0) }
|
||
|
|
||
|
// V6_vandqrt
|
||
|
// Vd32=vand(Qu4,Rt32)
|
||
|
v0=vand(q0,r0)
|
||
|
# CHECK-NEXT: 19a0c0a0 { v0 = vand(q0,r0) }
|
||
|
|
||
|
// V6_vandqrt_acc
|
||
|
// Vx32|=vand(Qu4,Rt32)
|
||
|
v0|=vand(q0,r0)
|
||
|
# CHECK-NEXT: 1960e060 { v0 |= vand(q0,r0) }
|
||
|
|
||
|
// V6_vandvnqv
|
||
|
// Vd32=vand(!Qv4,Vu32)
|
||
|
v0=vand(!q0,v0)
|
||
|
# CHECK-NEXT: 1e03e020 { v0 = vand(!q0,v0) }
|
||
|
|
||
|
// V6_vandvqv
|
||
|
// Vd32=vand(Qv4,Vu32)
|
||
|
v0=vand(q0,v0)
|
||
|
# CHECK-NEXT: 1e03e000 { v0 = vand(q0,v0) }
|
||
|
|
||
|
// V6_vandvrt
|
||
|
// Qd4=vand(Vu32,Rt32)
|
||
|
q0=vand(v0,r0)
|
||
|
# CHECK-NEXT: 19a0c048 { q0 = vand(v0,r0) }
|
||
|
|
||
|
// V6_vandvrt_acc
|
||
|
// Qx4|=vand(Vu32,Rt32)
|
||
|
q0|=vand(v0,r0)
|
||
|
# CHECK-NEXT: 1960e080 { q0 |= vand(v0,r0) }
|
||
|
|
||
|
// V6_vaslh
|
||
|
// Vd32.h=vasl(Vu32.h,Rt32)
|
||
|
v0.h=vasl(v0.h,r0)
|
||
|
# CHECK-NEXT: 1980c000 { v0.h = vasl(v0.h,r0) }
|
||
|
|
||
|
// V6_vaslh_acc
|
||
|
// Vx32.h+=vasl(Vu32.h,Rt32)
|
||
|
v0.h+=vasl(v0.h,r0)
|
||
|
# CHECK-NEXT: 19a0e0a0 { v0.h += vasl(v0.h,r0) }
|
||
|
|
||
|
// V6_vaslhv
|
||
|
// Vd32.h=vasl(Vu32.h,Vv32.h)
|
||
|
v0.h=vasl(v0.h,v0.h)
|
||
|
# CHECK-NEXT: 1fa0c0a0 { v0.h = vasl(v0.h,v0.h) }
|
||
|
|
||
|
// V6_vaslw
|
||
|
// Vd32.w=vasl(Vu32.w,Rt32)
|
||
|
v0.w=vasl(v0.w,r0)
|
||
|
# CHECK-NEXT: 1960c0e0 { v0.w = vasl(v0.w,r0) }
|
||
|
|
||
|
// V6_vaslw_acc
|
||
|
// Vx32.w+=vasl(Vu32.w,Rt32)
|
||
|
v0.w+=vasl(v0.w,r0)
|
||
|
# CHECK-NEXT: 1960e040 { v0.w += vasl(v0.w,r0) }
|
||
|
|
||
|
// V6_vaslwv
|
||
|
// Vd32.w=vasl(Vu32.w,Vv32.w)
|
||
|
v0.w=vasl(v0.w,v0.w)
|
||
|
# CHECK-NEXT: 1fa0c080 { v0.w = vasl(v0.w,v0.w) }
|
||
|
|
||
|
// V6_vasr_into
|
||
|
// Vxx32.w=vasrinto(Vu32.w,Vv32.w)
|
||
|
v1:0.w=vasrinto(v0.w,v0.w)
|
||
|
# CHECK-NEXT: 1aa0e0e0 { v1:0.w = vasrinto(v0.w,v0.w) }
|
||
|
|
||
|
// V6_vasrh
|
||
|
// Vd32.h=vasr(Vu32.h,Rt32)
|
||
|
v0.h=vasr(v0.h,r0)
|
||
|
# CHECK-NEXT: 1960c0c0 { v0.h = vasr(v0.h,r0) }
|
||
|
|
||
|
// V6_vasrh_acc
|
||
|
// Vx32.h+=vasr(Vu32.h,Rt32)
|
||
|
v0.h+=vasr(v0.h,r0)
|
||
|
# CHECK-NEXT: 1980e0e0 { v0.h += vasr(v0.h,r0) }
|
||
|
|
||
|
// V6_vasrhbrndsat
|
||
|
// Vd32.b=vasr(Vu32.h,Vv32.h,Rt8):rnd:sat
|
||
|
v0.b=vasr(v0.h,v0.h,r0):rnd:sat
|
||
|
# CHECK-NEXT: 1b00e000 { v0.b = vasr(v0.h,v0.h,r0):rnd:sat }
|
||
|
|
||
|
// V6_vasrhbsat
|
||
|
// Vd32.b=vasr(Vu32.h,Vv32.h,Rt8):sat
|
||
|
v0.b=vasr(v0.h,v0.h,r0):sat
|
||
|
# CHECK-NEXT: 1800c000 { v0.b = vasr(v0.h,v0.h,r0):sat }
|
||
|
|
||
|
// V6_vasrhubrndsat
|
||
|
// Vd32.ub=vasr(Vu32.h,Vv32.h,Rt8):rnd:sat
|
||
|
v0.ub=vasr(v0.h,v0.h,r0):rnd:sat
|
||
|
# CHECK-NEXT: 1b00c0e0 { v0.ub = vasr(v0.h,v0.h,r0):rnd:sat }
|
||
|
|
||
|
// V6_vasrhubsat
|
||
|
// Vd32.ub=vasr(Vu32.h,Vv32.h,Rt8):sat
|
||
|
v0.ub=vasr(v0.h,v0.h,r0):sat
|
||
|
# CHECK-NEXT: 1b00c0c0 { v0.ub = vasr(v0.h,v0.h,r0):sat }
|
||
|
|
||
|
// V6_vasrhv
|
||
|
// Vd32.h=vasr(Vu32.h,Vv32.h)
|
||
|
v0.h=vasr(v0.h,v0.h)
|
||
|
# CHECK-NEXT: 1fa0c060 { v0.h = vasr(v0.h,v0.h) }
|
||
|
|
||
|
// V6_vasruhubrndsat
|
||
|
// Vd32.ub=vasr(Vu32.uh,Vv32.uh,Rt8):rnd:sat
|
||
|
v0.ub=vasr(v0.uh,v0.uh,r0):rnd:sat
|
||
|
# CHECK-NEXT: 1800c0e0 { v0.ub = vasr(v0.uh,v0.uh,r0):rnd:sat }
|
||
|
|
||
|
// V6_vasruhubsat
|
||
|
// Vd32.ub=vasr(Vu32.uh,Vv32.uh,Rt8):sat
|
||
|
v0.ub=vasr(v0.uh,v0.uh,r0):sat
|
||
|
# CHECK-NEXT: 1800e0a0 { v0.ub = vasr(v0.uh,v0.uh,r0):sat }
|
||
|
|
||
|
// V6_vasruwuhrndsat
|
||
|
// Vd32.uh=vasr(Vu32.uw,Vv32.uw,Rt8):rnd:sat
|
||
|
v0.uh=vasr(v0.uw,v0.uw,r0):rnd:sat
|
||
|
# CHECK-NEXT: 1800c020 { v0.uh = vasr(v0.uw,v0.uw,r0):rnd:sat }
|
||
|
|
||
|
// V6_vasruwuhsat
|
||
|
// Vd32.uh=vasr(Vu32.uw,Vv32.uw,Rt8):sat
|
||
|
v0.uh=vasr(v0.uw,v0.uw,r0):sat
|
||
|
# CHECK-NEXT: 1800e080 { v0.uh = vasr(v0.uw,v0.uw,r0):sat }
|
||
|
|
||
|
// V6_vasrw
|
||
|
// Vd32.w=vasr(Vu32.w,Rt32)
|
||
|
v0.w=vasr(v0.w,r0)
|
||
|
# CHECK-NEXT: 1960c0a0 { v0.w = vasr(v0.w,r0) }
|
||
|
|
||
|
// V6_vasrw_acc
|
||
|
// Vx32.w+=vasr(Vu32.w,Rt32)
|
||
|
v0.w+=vasr(v0.w,r0)
|
||
|
# CHECK-NEXT: 1960e0a0 { v0.w += vasr(v0.w,r0) }
|
||
|
|
||
|
// V6_vasrwh
|
||
|
// Vd32.h=vasr(Vu32.w,Vv32.w,Rt8)
|
||
|
v0.h=vasr(v0.w,v0.w,r0)
|
||
|
# CHECK-NEXT: 1b00c040 { v0.h = vasr(v0.w,v0.w,r0) }
|
||
|
|
||
|
// V6_vasrwhrndsat
|
||
|
// Vd32.h=vasr(Vu32.w,Vv32.w,Rt8):rnd:sat
|
||
|
v0.h=vasr(v0.w,v0.w,r0):rnd:sat
|
||
|
# CHECK-NEXT: 1b00c080 { v0.h = vasr(v0.w,v0.w,r0):rnd:sat }
|
||
|
|
||
|
// V6_vasrwhsat
|
||
|
// Vd32.h=vasr(Vu32.w,Vv32.w,Rt8):sat
|
||
|
v0.h=vasr(v0.w,v0.w,r0):sat
|
||
|
# CHECK-NEXT: 1b00c060 { v0.h = vasr(v0.w,v0.w,r0):sat }
|
||
|
|
||
|
// V6_vasrwuhrndsat
|
||
|
// Vd32.uh=vasr(Vu32.w,Vv32.w,Rt8):rnd:sat
|
||
|
v0.uh=vasr(v0.w,v0.w,r0):rnd:sat
|
||
|
# CHECK-NEXT: 1800c040 { v0.uh = vasr(v0.w,v0.w,r0):rnd:sat }
|
||
|
|
||
|
// V6_vasrwuhsat
|
||
|
// Vd32.uh=vasr(Vu32.w,Vv32.w,Rt8):sat
|
||
|
v0.uh=vasr(v0.w,v0.w,r0):sat
|
||
|
# CHECK-NEXT: 1b00c0a0 { v0.uh = vasr(v0.w,v0.w,r0):sat }
|
||
|
|
||
|
// V6_vasrwv
|
||
|
// Vd32.w=vasr(Vu32.w,Vv32.w)
|
||
|
v0.w=vasr(v0.w,v0.w)
|
||
|
# CHECK-NEXT: 1fa0c000 { v0.w = vasr(v0.w,v0.w) }
|
||
|
|
||
|
// V6_vassign
|
||
|
// Vd32=Vu32
|
||
|
v0=v0
|
||
|
# CHECK-NEXT: 1e03e0e0 { v0 = v0 }
|
||
|
|
||
|
// V6_vavgb
|
||
|
// Vd32.b=vavg(Vu32.b,Vv32.b)
|
||
|
v0.b=vavg(v0.b,v0.b)
|
||
|
# CHECK-NEXT: 1f00e080 { v0.b = vavg(v0.b,v0.b) }
|
||
|
|
||
|
// V6_vavgbrnd
|
||
|
// Vd32.b=vavg(Vu32.b,Vv32.b):rnd
|
||
|
v0.b=vavg(v0.b,v0.b):rnd
|
||
|
# CHECK-NEXT: 1f00e0a0 { v0.b = vavg(v0.b,v0.b):rnd }
|
||
|
|
||
|
// V6_vavgh
|
||
|
// Vd32.h=vavg(Vu32.h,Vv32.h)
|
||
|
v0.h=vavg(v0.h,v0.h)
|
||
|
# CHECK-NEXT: 1cc0c0c0 { v0.h = vavg(v0.h,v0.h) }
|
||
|
|
||
|
// V6_vavghrnd
|
||
|
// Vd32.h=vavg(Vu32.h,Vv32.h):rnd
|
||
|
v0.h=vavg(v0.h,v0.h):rnd
|
||
|
# CHECK-NEXT: 1ce0c0a0 { v0.h = vavg(v0.h,v0.h):rnd }
|
||
|
|
||
|
// V6_vavgub
|
||
|
// Vd32.ub=vavg(Vu32.ub,Vv32.ub)
|
||
|
v0.ub=vavg(v0.ub,v0.ub)
|
||
|
# CHECK-NEXT: 1cc0c080 { v0.ub = vavg(v0.ub,v0.ub) }
|
||
|
|
||
|
// V6_vavgubrnd
|
||
|
// Vd32.ub=vavg(Vu32.ub,Vv32.ub):rnd
|
||
|
v0.ub=vavg(v0.ub,v0.ub):rnd
|
||
|
# CHECK-NEXT: 1ce0c060 { v0.ub = vavg(v0.ub,v0.ub):rnd }
|
||
|
|
||
|
// V6_vavguh
|
||
|
// Vd32.uh=vavg(Vu32.uh,Vv32.uh)
|
||
|
v0.uh=vavg(v0.uh,v0.uh)
|
||
|
# CHECK-NEXT: 1cc0c0a0 { v0.uh = vavg(v0.uh,v0.uh) }
|
||
|
|
||
|
// V6_vavguhrnd
|
||
|
// Vd32.uh=vavg(Vu32.uh,Vv32.uh):rnd
|
||
|
v0.uh=vavg(v0.uh,v0.uh):rnd
|
||
|
# CHECK-NEXT: 1ce0c080 { v0.uh = vavg(v0.uh,v0.uh):rnd }
|
||
|
|
||
|
// V6_vavguw
|
||
|
// Vd32.uw=vavg(Vu32.uw,Vv32.uw)
|
||
|
v0.uw=vavg(v0.uw,v0.uw)
|
||
|
# CHECK-NEXT: 1f00e040 { v0.uw = vavg(v0.uw,v0.uw) }
|
||
|
|
||
|
// V6_vavguwrnd
|
||
|
// Vd32.uw=vavg(Vu32.uw,Vv32.uw):rnd
|
||
|
v0.uw=vavg(v0.uw,v0.uw):rnd
|
||
|
# CHECK-NEXT: 1f00e060 { v0.uw = vavg(v0.uw,v0.uw):rnd }
|
||
|
|
||
|
// V6_vavgw
|
||
|
// Vd32.w=vavg(Vu32.w,Vv32.w)
|
||
|
v0.w=vavg(v0.w,v0.w)
|
||
|
# CHECK-NEXT: 1cc0c0e0 { v0.w = vavg(v0.w,v0.w) }
|
||
|
|
||
|
// V6_vavgwrnd
|
||
|
// Vd32.w=vavg(Vu32.w,Vv32.w):rnd
|
||
|
v0.w=vavg(v0.w,v0.w):rnd
|
||
|
# CHECK-NEXT: 1ce0c0c0 { v0.w = vavg(v0.w,v0.w):rnd }
|
||
|
|
||
|
// V6_vccombine
|
||
|
// if (Ps4) Vdd32=vcombine(Vu32,Vv32)
|
||
|
if (p0) v1:0=vcombine(v0,v0)
|
||
|
# CHECK-NEXT: 1a60c000 { if (p0) v1:0 = vcombine(v0,v0) }
|
||
|
|
||
|
// V6_vcl0h
|
||
|
// Vd32.uh=vcl0(Vu32.uh)
|
||
|
v0.uh=vcl0(v0.uh)
|
||
|
# CHECK-NEXT: 1e02c0e0 { v0.uh = vcl0(v0.uh) }
|
||
|
|
||
|
// V6_vcl0w
|
||
|
// Vd32.uw=vcl0(Vu32.uw)
|
||
|
v0.uw=vcl0(v0.uw)
|
||
|
# CHECK-NEXT: 1e02c0a0 { v0.uw = vcl0(v0.uw) }
|
||
|
|
||
|
// V6_vcmov
|
||
|
// if (Ps4) Vd32=Vu32
|
||
|
if (p0) v0=v0
|
||
|
# CHECK-NEXT: 1a00c000 { if (p0) v0 = v0 }
|
||
|
|
||
|
// V6_vcombine
|
||
|
// Vdd32=vcombine(Vu32,Vv32)
|
||
|
v1:0=vcombine(v0,v0)
|
||
|
# CHECK-NEXT: 1f40c0e0 { v1:0 = vcombine(v0,v0) }
|
||
|
|
||
|
// V6_vdeal
|
||
|
// vdeal(Vy32,Vx32,Rt32)
|
||
|
vdeal(v0,v0,r0)
|
||
|
# CHECK-NEXT: 19e0e040 { vdeal(v0,v0,r0) }
|
||
|
|
||
|
// V6_vdealb
|
||
|
// Vd32.b=vdeal(Vu32.b)
|
||
|
v0.b=vdeal(v0.b)
|
||
|
# CHECK-NEXT: 1e00c0e0 { v0.b = vdeal(v0.b) }
|
||
|
|
||
|
// V6_vdealb4w
|
||
|
// Vd32.b=vdeale(Vu32.b,Vv32.b)
|
||
|
v0.b=vdeale(v0.b,v0.b)
|
||
|
# CHECK-NEXT: 1f20c0e0 { v0.b = vdeale(v0.b,v0.b) }
|
||
|
|
||
|
// V6_vdealh
|
||
|
// Vd32.h=vdeal(Vu32.h)
|
||
|
v0.h=vdeal(v0.h)
|
||
|
# CHECK-NEXT: 1e00c0c0 { v0.h = vdeal(v0.h) }
|
||
|
|
||
|
// V6_vdealvdd
|
||
|
// Vdd32=vdeal(Vu32,Vv32,Rt8)
|
||
|
v1:0=vdeal(v0,v0,r0)
|
||
|
# CHECK-NEXT: 1b00e080 { v1:0 = vdeal(v0,v0,r0) }
|
||
|
|
||
|
// V6_vdelta
|
||
|
// Vd32=vdelta(Vu32,Vv32)
|
||
|
v0=vdelta(v0,v0)
|
||
|
# CHECK-NEXT: 1f20c020 { v0 = vdelta(v0,v0) }
|
||
|
|
||
|
// V6_vdmpybus
|
||
|
// Vd32.h=vdmpy(Vu32.ub,Rt32.b)
|
||
|
v0.h=vdmpy(v0.ub,r0.b)
|
||
|
# CHECK-NEXT: 1900c0c0 { v0.h = vdmpy(v0.ub,r0.b) }
|
||
|
|
||
|
// V6_vdmpybus_acc
|
||
|
// Vx32.h+=vdmpy(Vu32.ub,Rt32.b)
|
||
|
v0.h+=vdmpy(v0.ub,r0.b)
|
||
|
# CHECK-NEXT: 1900e0c0 { v0.h += vdmpy(v0.ub,r0.b) }
|
||
|
|
||
|
// V6_vdmpybus_dv
|
||
|
// Vdd32.h=vdmpy(Vuu32.ub,Rt32.b)
|
||
|
v1:0.h=vdmpy(v1:0.ub,r0.b)
|
||
|
# CHECK-NEXT: 1900c0e0 { v1:0.h = vdmpy(v1:0.ub,r0.b) }
|
||
|
|
||
|
// V6_vdmpybus_dv_acc
|
||
|
// Vxx32.h+=vdmpy(Vuu32.ub,Rt32.b)
|
||
|
v1:0.h+=vdmpy(v1:0.ub,r0.b)
|
||
|
# CHECK-NEXT: 1900e0e0 { v1:0.h += vdmpy(v1:0.ub,r0.b) }
|
||
|
|
||
|
// V6_vdmpyhb
|
||
|
// Vd32.w=vdmpy(Vu32.h,Rt32.b)
|
||
|
v0.w=vdmpy(v0.h,r0.b)
|
||
|
# CHECK-NEXT: 1900c040 { v0.w = vdmpy(v0.h,r0.b) }
|
||
|
|
||
|
// V6_vdmpyhb_acc
|
||
|
// Vx32.w+=vdmpy(Vu32.h,Rt32.b)
|
||
|
v0.w+=vdmpy(v0.h,r0.b)
|
||
|
# CHECK-NEXT: 1900e060 { v0.w += vdmpy(v0.h,r0.b) }
|
||
|
|
||
|
// V6_vdmpyhb_dv
|
||
|
// Vdd32.w=vdmpy(Vuu32.h,Rt32.b)
|
||
|
v1:0.w=vdmpy(v1:0.h,r0.b)
|
||
|
# CHECK-NEXT: 1920c080 { v1:0.w = vdmpy(v1:0.h,r0.b) }
|
||
|
|
||
|
// V6_vdmpyhb_dv_acc
|
||
|
// Vxx32.w+=vdmpy(Vuu32.h,Rt32.b)
|
||
|
v1:0.w+=vdmpy(v1:0.h,r0.b)
|
||
|
# CHECK-NEXT: 1920e080 { v1:0.w += vdmpy(v1:0.h,r0.b) }
|
||
|
|
||
|
// V6_vdmpyhisat
|
||
|
// Vd32.w=vdmpy(Vuu32.h,Rt32.h):sat
|
||
|
v0.w=vdmpy(v1:0.h,r0.h):sat
|
||
|
# CHECK-NEXT: 1920c060 { v0.w = vdmpy(v1:0.h,r0.h):sat }
|
||
|
|
||
|
// V6_vdmpyhisat_acc
|
||
|
// Vx32.w+=vdmpy(Vuu32.h,Rt32.h):sat
|
||
|
v0.w+=vdmpy(v1:0.h,r0.h):sat
|
||
|
# CHECK-NEXT: 1920e040 { v0.w += vdmpy(v1:0.h,r0.h):sat }
|
||
|
|
||
|
// V6_vdmpyhsat
|
||
|
// Vd32.w=vdmpy(Vu32.h,Rt32.h):sat
|
||
|
v0.w=vdmpy(v0.h,r0.h):sat
|
||
|
# CHECK-NEXT: 1920c040 { v0.w = vdmpy(v0.h,r0.h):sat }
|
||
|
|
||
|
// V6_vdmpyhsat_acc
|
||
|
// Vx32.w+=vdmpy(Vu32.h,Rt32.h):sat
|
||
|
v0.w+=vdmpy(v0.h,r0.h):sat
|
||
|
# CHECK-NEXT: 1920e060 { v0.w += vdmpy(v0.h,r0.h):sat }
|
||
|
|
||
|
// V6_vdmpyhsuisat
|
||
|
// Vd32.w=vdmpy(Vuu32.h,Rt32.uh,#1):sat
|
||
|
v0.w=vdmpy(v1:0.h,r0.uh,#1):sat
|
||
|
# CHECK-NEXT: 1920c020 { v0.w = vdmpy(v1:0.h,r0.uh,#1):sat }
|
||
|
|
||
|
// V6_vdmpyhsuisat_acc
|
||
|
// Vx32.w+=vdmpy(Vuu32.h,Rt32.uh,#1):sat
|
||
|
v0.w+=vdmpy(v1:0.h,r0.uh,#1):sat
|
||
|
# CHECK-NEXT: 1920e020 { v0.w += vdmpy(v1:0.h,r0.uh,#1):sat }
|
||
|
|
||
|
// V6_vdmpyhsusat
|
||
|
// Vd32.w=vdmpy(Vu32.h,Rt32.uh):sat
|
||
|
v0.w=vdmpy(v0.h,r0.uh):sat
|
||
|
# CHECK-NEXT: 1920c000 { v0.w = vdmpy(v0.h,r0.uh):sat }
|
||
|
|
||
|
// V6_vdmpyhsusat_acc
|
||
|
// Vx32.w+=vdmpy(Vu32.h,Rt32.uh):sat
|
||
|
v0.w+=vdmpy(v0.h,r0.uh):sat
|
||
|
# CHECK-NEXT: 1920e000 { v0.w += vdmpy(v0.h,r0.uh):sat }
|
||
|
|
||
|
// V6_vdmpyhvsat
|
||
|
// Vd32.w=vdmpy(Vu32.h,Vv32.h):sat
|
||
|
v0.w=vdmpy(v0.h,v0.h):sat
|
||
|
# CHECK-NEXT: 1c00c060 { v0.w = vdmpy(v0.h,v0.h):sat }
|
||
|
|
||
|
// V6_vdmpyhvsat_acc
|
||
|
// Vx32.w+=vdmpy(Vu32.h,Vv32.h):sat
|
||
|
v0.w+=vdmpy(v0.h,v0.h):sat
|
||
|
# CHECK-NEXT: 1c00e060 { v0.w += vdmpy(v0.h,v0.h):sat }
|
||
|
|
||
|
// V6_vdsaduh
|
||
|
// Vdd32.uw=vdsad(Vuu32.uh,Rt32.uh)
|
||
|
v1:0.uw=vdsad(v1:0.uh,r0.uh)
|
||
|
# CHECK-NEXT: 1900c0a0 { v1:0.uw = vdsad(v1:0.uh,r0.uh) }
|
||
|
|
||
|
// V6_vdsaduh_acc
|
||
|
// Vxx32.uw+=vdsad(Vuu32.uh,Rt32.uh)
|
||
|
v1:0.uw+=vdsad(v1:0.uh,r0.uh)
|
||
|
# CHECK-NEXT: 1960e000 { v1:0.uw += vdsad(v1:0.uh,r0.uh) }
|
||
|
|
||
|
// V6_veqb
|
||
|
// Qd4=vcmp.eq(Vu32.b,Vv32.b)
|
||
|
q0=vcmp.eq(v0.b,v0.b)
|
||
|
# CHECK-NEXT: 1f80c000 { q0 = vcmp.eq(v0.b,v0.b) }
|
||
|
|
||
|
// V6_veqb_and
|
||
|
// Qx4&=vcmp.eq(Vu32.b,Vv32.b)
|
||
|
q0&=vcmp.eq(v0.b,v0.b)
|
||
|
# CHECK-NEXT: 1c80e000 { q0 &= vcmp.eq(v0.b,v0.b) }
|
||
|
|
||
|
// V6_veqb_or
|
||
|
// Qx4|=vcmp.eq(Vu32.b,Vv32.b)
|
||
|
q0|=vcmp.eq(v0.b,v0.b)
|
||
|
# CHECK-NEXT: 1c80e040 { q0 |= vcmp.eq(v0.b,v0.b) }
|
||
|
|
||
|
// V6_veqb_xor
|
||
|
// Qx4^=vcmp.eq(Vu32.b,Vv32.b)
|
||
|
q0^=vcmp.eq(v0.b,v0.b)
|
||
|
# CHECK-NEXT: 1c80e080 { q0 ^= vcmp.eq(v0.b,v0.b) }
|
||
|
|
||
|
// V6_veqh
|
||
|
// Qd4=vcmp.eq(Vu32.h,Vv32.h)
|
||
|
q0=vcmp.eq(v0.h,v0.h)
|
||
|
# CHECK-NEXT: 1f80c004 { q0 = vcmp.eq(v0.h,v0.h) }
|
||
|
|
||
|
// V6_veqh_and
|
||
|
// Qx4&=vcmp.eq(Vu32.h,Vv32.h)
|
||
|
q0&=vcmp.eq(v0.h,v0.h)
|
||
|
# CHECK-NEXT: 1c80e004 { q0 &= vcmp.eq(v0.h,v0.h) }
|
||
|
|
||
|
// V6_veqh_or
|
||
|
// Qx4|=vcmp.eq(Vu32.h,Vv32.h)
|
||
|
q0|=vcmp.eq(v0.h,v0.h)
|
||
|
# CHECK-NEXT: 1c80e044 { q0 |= vcmp.eq(v0.h,v0.h) }
|
||
|
|
||
|
// V6_veqh_xor
|
||
|
// Qx4^=vcmp.eq(Vu32.h,Vv32.h)
|
||
|
q0^=vcmp.eq(v0.h,v0.h)
|
||
|
# CHECK-NEXT: 1c80e084 { q0 ^= vcmp.eq(v0.h,v0.h) }
|
||
|
|
||
|
// V6_veqw
|
||
|
// Qd4=vcmp.eq(Vu32.w,Vv32.w)
|
||
|
q0=vcmp.eq(v0.w,v0.w)
|
||
|
# CHECK-NEXT: 1f80c008 { q0 = vcmp.eq(v0.w,v0.w) }
|
||
|
|
||
|
// V6_veqw_and
|
||
|
// Qx4&=vcmp.eq(Vu32.w,Vv32.w)
|
||
|
q0&=vcmp.eq(v0.w,v0.w)
|
||
|
# CHECK-NEXT: 1c80e008 { q0 &= vcmp.eq(v0.w,v0.w) }
|
||
|
|
||
|
// V6_veqw_or
|
||
|
// Qx4|=vcmp.eq(Vu32.w,Vv32.w)
|
||
|
q0|=vcmp.eq(v0.w,v0.w)
|
||
|
# CHECK-NEXT: 1c80e048 { q0 |= vcmp.eq(v0.w,v0.w) }
|
||
|
|
||
|
// V6_veqw_xor
|
||
|
// Qx4^=vcmp.eq(Vu32.w,Vv32.w)
|
||
|
q0^=vcmp.eq(v0.w,v0.w)
|
||
|
# CHECK-NEXT: 1c80e088 { q0 ^= vcmp.eq(v0.w,v0.w) }
|
||
|
|
||
|
// V6_vgathermh
|
||
|
// vtmp.h=vgather(Rt32,Mu2,Vv32.h).h
|
||
|
vtmp.h=vgather(r0,m0,v0.h).h
|
||
|
# CHECK-NEXT: 2f00c100 { vtmp.h = vgather(r0,m0,v0.h).h }
|
||
|
|
||
|
// V6_vgathermhq
|
||
|
// if (Qs4) vtmp.h=vgather(Rt32,Mu2,Vv32.h).h
|
||
|
if (q0) vtmp.h=vgather(r0,m0,v0.h).h
|
||
|
# CHECK-NEXT: 2f00c500 { if (q0) vtmp.h = vgather(r0,m0,v0.h).h }
|
||
|
|
||
|
// V6_vgathermhw
|
||
|
// vtmp.h=vgather(Rt32,Mu2,Vvv32.w).h
|
||
|
vtmp.h=vgather(r0,m0,v1:0.w).h
|
||
|
# CHECK-NEXT: 2f00c200 { vtmp.h = vgather(r0,m0,v1:0.w).h }
|
||
|
|
||
|
// V6_vgathermhwq
|
||
|
// if (Qs4) vtmp.h=vgather(Rt32,Mu2,Vvv32.w).h
|
||
|
if (q0) vtmp.h=vgather(r0,m0,v1:0.w).h
|
||
|
# CHECK-NEXT: 2f00c600 { if (q0) vtmp.h = vgather(r0,m0,v1:0.w).h }
|
||
|
|
||
|
// V6_vgathermw
|
||
|
// vtmp.w=vgather(Rt32,Mu2,Vv32.w).w
|
||
|
vtmp.w=vgather(r0,m0,v0.w).w
|
||
|
# CHECK-NEXT: 2f00c000 { vtmp.w = vgather(r0,m0,v0.w).w }
|
||
|
|
||
|
// V6_vgathermwq
|
||
|
// if (Qs4) vtmp.w=vgather(Rt32,Mu2,Vv32.w).w
|
||
|
if (q0) vtmp.w=vgather(r0,m0,v0.w).w
|
||
|
# CHECK-NEXT: 2f00c400 { if (q0) vtmp.w = vgather(r0,m0,v0.w).w }
|
||
|
|
||
|
// V6_vgtb
|
||
|
// Qd4=vcmp.gt(Vu32.b,Vv32.b)
|
||
|
q0=vcmp.gt(v0.b,v0.b)
|
||
|
# CHECK-NEXT: 1f80c010 { q0 = vcmp.gt(v0.b,v0.b) }
|
||
|
|
||
|
// V6_vgtb_and
|
||
|
// Qx4&=vcmp.gt(Vu32.b,Vv32.b)
|
||
|
q0&=vcmp.gt(v0.b,v0.b)
|
||
|
# CHECK-NEXT: 1c80e010 { q0 &= vcmp.gt(v0.b,v0.b) }
|
||
|
|
||
|
// V6_vgtb_or
|
||
|
// Qx4|=vcmp.gt(Vu32.b,Vv32.b)
|
||
|
q0|=vcmp.gt(v0.b,v0.b)
|
||
|
# CHECK-NEXT: 1c80e050 { q0 |= vcmp.gt(v0.b,v0.b) }
|
||
|
|
||
|
// V6_vgtb_xor
|
||
|
// Qx4^=vcmp.gt(Vu32.b,Vv32.b)
|
||
|
q0^=vcmp.gt(v0.b,v0.b)
|
||
|
# CHECK-NEXT: 1c80e090 { q0 ^= vcmp.gt(v0.b,v0.b) }
|
||
|
|
||
|
// V6_vgth
|
||
|
// Qd4=vcmp.gt(Vu32.h,Vv32.h)
|
||
|
q0=vcmp.gt(v0.h,v0.h)
|
||
|
# CHECK-NEXT: 1f80c014 { q0 = vcmp.gt(v0.h,v0.h) }
|
||
|
|
||
|
// V6_vgth_and
|
||
|
// Qx4&=vcmp.gt(Vu32.h,Vv32.h)
|
||
|
q0&=vcmp.gt(v0.h,v0.h)
|
||
|
# CHECK-NEXT: 1c80e014 { q0 &= vcmp.gt(v0.h,v0.h) }
|
||
|
|
||
|
// V6_vgth_or
|
||
|
// Qx4|=vcmp.gt(Vu32.h,Vv32.h)
|
||
|
q0|=vcmp.gt(v0.h,v0.h)
|
||
|
# CHECK-NEXT: 1c80e054 { q0 |= vcmp.gt(v0.h,v0.h) }
|
||
|
|
||
|
// V6_vgth_xor
|
||
|
// Qx4^=vcmp.gt(Vu32.h,Vv32.h)
|
||
|
q0^=vcmp.gt(v0.h,v0.h)
|
||
|
# CHECK-NEXT: 1c80e094 { q0 ^= vcmp.gt(v0.h,v0.h) }
|
||
|
|
||
|
// V6_vgtub
|
||
|
// Qd4=vcmp.gt(Vu32.ub,Vv32.ub)
|
||
|
q0=vcmp.gt(v0.ub,v0.ub)
|
||
|
# CHECK-NEXT: 1f80c020 { q0 = vcmp.gt(v0.ub,v0.ub) }
|
||
|
|
||
|
// V6_vgtub_and
|
||
|
// Qx4&=vcmp.gt(Vu32.ub,Vv32.ub)
|
||
|
q0&=vcmp.gt(v0.ub,v0.ub)
|
||
|
# CHECK-NEXT: 1c80e020 { q0 &= vcmp.gt(v0.ub,v0.ub) }
|
||
|
|
||
|
// V6_vgtub_or
|
||
|
// Qx4|=vcmp.gt(Vu32.ub,Vv32.ub)
|
||
|
q0|=vcmp.gt(v0.ub,v0.ub)
|
||
|
# CHECK-NEXT: 1c80e060 { q0 |= vcmp.gt(v0.ub,v0.ub) }
|
||
|
|
||
|
// V6_vgtub_xor
|
||
|
// Qx4^=vcmp.gt(Vu32.ub,Vv32.ub)
|
||
|
q0^=vcmp.gt(v0.ub,v0.ub)
|
||
|
# CHECK-NEXT: 1c80e0a0 { q0 ^= vcmp.gt(v0.ub,v0.ub) }
|
||
|
|
||
|
// V6_vgtuh
|
||
|
// Qd4=vcmp.gt(Vu32.uh,Vv32.uh)
|
||
|
q0=vcmp.gt(v0.uh,v0.uh)
|
||
|
# CHECK-NEXT: 1f80c024 { q0 = vcmp.gt(v0.uh,v0.uh) }
|
||
|
|
||
|
// V6_vgtuh_and
|
||
|
// Qx4&=vcmp.gt(Vu32.uh,Vv32.uh)
|
||
|
q0&=vcmp.gt(v0.uh,v0.uh)
|
||
|
# CHECK-NEXT: 1c80e024 { q0 &= vcmp.gt(v0.uh,v0.uh) }
|
||
|
|
||
|
// V6_vgtuh_or
|
||
|
// Qx4|=vcmp.gt(Vu32.uh,Vv32.uh)
|
||
|
q0|=vcmp.gt(v0.uh,v0.uh)
|
||
|
# CHECK-NEXT: 1c80e064 { q0 |= vcmp.gt(v0.uh,v0.uh) }
|
||
|
|
||
|
// V6_vgtuh_xor
|
||
|
// Qx4^=vcmp.gt(Vu32.uh,Vv32.uh)
|
||
|
q0^=vcmp.gt(v0.uh,v0.uh)
|
||
|
# CHECK-NEXT: 1c80e0a4 { q0 ^= vcmp.gt(v0.uh,v0.uh) }
|
||
|
|
||
|
// V6_vgtuw
|
||
|
// Qd4=vcmp.gt(Vu32.uw,Vv32.uw)
|
||
|
q0=vcmp.gt(v0.uw,v0.uw)
|
||
|
# CHECK-NEXT: 1f80c028 { q0 = vcmp.gt(v0.uw,v0.uw) }
|
||
|
|
||
|
// V6_vgtuw_and
|
||
|
// Qx4&=vcmp.gt(Vu32.uw,Vv32.uw)
|
||
|
q0&=vcmp.gt(v0.uw,v0.uw)
|
||
|
# CHECK-NEXT: 1c80e028 { q0 &= vcmp.gt(v0.uw,v0.uw) }
|
||
|
|
||
|
// V6_vgtuw_or
|
||
|
// Qx4|=vcmp.gt(Vu32.uw,Vv32.uw)
|
||
|
q0|=vcmp.gt(v0.uw,v0.uw)
|
||
|
# CHECK-NEXT: 1c80e068 { q0 |= vcmp.gt(v0.uw,v0.uw) }
|
||
|
|
||
|
// V6_vgtuw_xor
|
||
|
// Qx4^=vcmp.gt(Vu32.uw,Vv32.uw)
|
||
|
q0^=vcmp.gt(v0.uw,v0.uw)
|
||
|
# CHECK-NEXT: 1c80e0a8 { q0 ^= vcmp.gt(v0.uw,v0.uw) }
|
||
|
|
||
|
// V6_vgtw
|
||
|
// Qd4=vcmp.gt(Vu32.w,Vv32.w)
|
||
|
q0=vcmp.gt(v0.w,v0.w)
|
||
|
# CHECK-NEXT: 1f80c018 { q0 = vcmp.gt(v0.w,v0.w) }
|
||
|
|
||
|
// V6_vgtw_and
|
||
|
// Qx4&=vcmp.gt(Vu32.w,Vv32.w)
|
||
|
q0&=vcmp.gt(v0.w,v0.w)
|
||
|
# CHECK-NEXT: 1c80e018 { q0 &= vcmp.gt(v0.w,v0.w) }
|
||
|
|
||
|
// V6_vgtw_or
|
||
|
// Qx4|=vcmp.gt(Vu32.w,Vv32.w)
|
||
|
q0|=vcmp.gt(v0.w,v0.w)
|
||
|
# CHECK-NEXT: 1c80e058 { q0 |= vcmp.gt(v0.w,v0.w) }
|
||
|
|
||
|
// V6_vgtw_xor
|
||
|
// Qx4^=vcmp.gt(Vu32.w,Vv32.w)
|
||
|
q0^=vcmp.gt(v0.w,v0.w)
|
||
|
# CHECK-NEXT: 1c80e098 { q0 ^= vcmp.gt(v0.w,v0.w) }
|
||
|
|
||
|
// V6_vhist
|
||
|
// vhist
|
||
|
vhist
|
||
|
# CHECK-NEXT: 1e00e080 { vhist }
|
||
|
|
||
|
// V6_vhistq
|
||
|
// vhist(Qv4)
|
||
|
vhist(q0)
|
||
|
# CHECK-NEXT: 1e02e080 { vhist(q0) }
|
||
|
|
||
|
// V6_vinsertwr
|
||
|
// Vx32.w=vinsert(Rt32)
|
||
|
v0.w=vinsert(r0)
|
||
|
# CHECK-NEXT: 19a0e020 { v0.w = vinsert(r0) }
|
||
|
|
||
|
// V6_vlalignb
|
||
|
// Vd32=vlalign(Vu32,Vv32,Rt8)
|
||
|
v0=vlalign(v0,v0,r0)
|
||
|
# CHECK-NEXT: 1b00c020 { v0 = vlalign(v0,v0,r0) }
|
||
|
|
||
|
// V6_vlalignbi
|
||
|
// Vd32=vlalign(Vu32,Vv32,#u3)
|
||
|
v0=vlalign(v0,v0,#0)
|
||
|
# CHECK-NEXT: 1e60e000 { v0 = vlalign(v0,v0,#0) }
|
||
|
|
||
|
// V6_vlsrb
|
||
|
// Vd32.ub=vlsr(Vu32.ub,Rt32)
|
||
|
v0.ub=vlsr(v0.ub,r0)
|
||
|
# CHECK-NEXT: 1980c060 { v0.ub = vlsr(v0.ub,r0) }
|
||
|
|
||
|
// V6_vlsrh
|
||
|
// Vd32.uh=vlsr(Vu32.uh,Rt32)
|
||
|
v0.uh=vlsr(v0.uh,r0)
|
||
|
# CHECK-NEXT: 1980c040 { v0.uh = vlsr(v0.uh,r0) }
|
||
|
|
||
|
// V6_vlsrhv
|
||
|
// Vd32.h=vlsr(Vu32.h,Vv32.h)
|
||
|
v0.h=vlsr(v0.h,v0.h)
|
||
|
# CHECK-NEXT: 1fa0c040 { v0.h = vlsr(v0.h,v0.h) }
|
||
|
|
||
|
// V6_vlsrw
|
||
|
// Vd32.uw=vlsr(Vu32.uw,Rt32)
|
||
|
v0.uw=vlsr(v0.uw,r0)
|
||
|
# CHECK-NEXT: 1980c020 { v0.uw = vlsr(v0.uw,r0) }
|
||
|
|
||
|
// V6_vlsrwv
|
||
|
// Vd32.w=vlsr(Vu32.w,Vv32.w)
|
||
|
v0.w=vlsr(v0.w,v0.w)
|
||
|
# CHECK-NEXT: 1fa0c020 { v0.w = vlsr(v0.w,v0.w) }
|
||
|
|
||
|
// V6_vlut4
|
||
|
// Vd32.h=vlut4(Vu32.uh,Rtt32.h)
|
||
|
v0.h=vlut4(v0.uh,r1:0.h)
|
||
|
# CHECK-NEXT: 1960c080 { v0.h = vlut4(v0.uh,r1:0.h) }
|
||
|
|
||
|
// V6_vlutvvb
|
||
|
// Vd32.b=vlut32(Vu32.b,Vv32.b,Rt8)
|
||
|
v0.b=vlut32(v0.b,v0.b,r0)
|
||
|
# CHECK-NEXT: 1b00e020 { v0.b = vlut32(v0.b,v0.b,r0) }
|
||
|
|
||
|
// V6_vlutvvb_nm
|
||
|
// Vd32.b=vlut32(Vu32.b,Vv32.b,Rt8):nomatch
|
||
|
v0.b=vlut32(v0.b,v0.b,r0):nomatch
|
||
|
# CHECK-NEXT: 1800c060 { v0.b = vlut32(v0.b,v0.b,r0):nomatch }
|
||
|
|
||
|
// V6_vlutvvb_oracc
|
||
|
// Vx32.b|=vlut32(Vu32.b,Vv32.b,Rt8)
|
||
|
v0.b|=vlut32(v0.b,v0.b,r0)
|
||
|
# CHECK-NEXT: 1b00e0a0 { v0.b |= vlut32(v0.b,v0.b,r0) }
|
||
|
|
||
|
// V6_vlutvvb_oracci
|
||
|
// Vx32.b|=vlut32(Vu32.b,Vv32.b,#u3)
|
||
|
v0.b|=vlut32(v0.b,v0.b,#0)
|
||
|
# CHECK-NEXT: 1cc0e000 { v0.b |= vlut32(v0.b,v0.b,#0) }
|
||
|
|
||
|
// V6_vlutvvbi
|
||
|
// Vd32.b=vlut32(Vu32.b,Vv32.b,#u3)
|
||
|
v0.b=vlut32(v0.b,v0.b,#0)
|
||
|
# CHECK-NEXT: 1e20c000 { v0.b = vlut32(v0.b,v0.b,#0) }
|
||
|
|
||
|
// V6_vlutvwh
|
||
|
// Vdd32.h=vlut16(Vu32.b,Vv32.h,Rt8)
|
||
|
v1:0.h=vlut16(v0.b,v0.h,r0)
|
||
|
# CHECK-NEXT: 1b00e0c0 { v1:0.h = vlut16(v0.b,v0.h,r0) }
|
||
|
|
||
|
// V6_vlutvwh_nm
|
||
|
// Vdd32.h=vlut16(Vu32.b,Vv32.h,Rt8):nomatch
|
||
|
v1:0.h=vlut16(v0.b,v0.h,r0):nomatch
|
||
|
# CHECK-NEXT: 1800c080 { v1:0.h = vlut16(v0.b,v0.h,r0):nomatch }
|
||
|
|
||
|
// V6_vlutvwh_oracc
|
||
|
// Vxx32.h|=vlut16(Vu32.b,Vv32.h,Rt8)
|
||
|
v1:0.h|=vlut16(v0.b,v0.h,r0)
|
||
|
# CHECK-NEXT: 1b00e0e0 { v1:0.h |= vlut16(v0.b,v0.h,r0) }
|
||
|
|
||
|
// V6_vlutvwh_oracci
|
||
|
// Vxx32.h|=vlut16(Vu32.b,Vv32.h,#u3)
|
||
|
v1:0.h|=vlut16(v0.b,v0.h,#0)
|
||
|
# CHECK-NEXT: 1ce0e000 { v1:0.h |= vlut16(v0.b,v0.h,#0) }
|
||
|
|
||
|
// V6_vlutvwhi
|
||
|
// Vdd32.h=vlut16(Vu32.b,Vv32.h,#u3)
|
||
|
v1:0.h=vlut16(v0.b,v0.h,#0)
|
||
|
# CHECK-NEXT: 1e60c000 { v1:0.h = vlut16(v0.b,v0.h,#0) }
|
||
|
|
||
|
// V6_vmaxb
|
||
|
// Vd32.b=vmax(Vu32.b,Vv32.b)
|
||
|
v0.b=vmax(v0.b,v0.b)
|
||
|
# CHECK-NEXT: 1f20c0a0 { v0.b = vmax(v0.b,v0.b) }
|
||
|
|
||
|
// V6_vmaxh
|
||
|
// Vd32.h=vmax(Vu32.h,Vv32.h)
|
||
|
v0.h=vmax(v0.h,v0.h)
|
||
|
# CHECK-NEXT: 1f00c0e0 { v0.h = vmax(v0.h,v0.h) }
|
||
|
|
||
|
// V6_vmaxub
|
||
|
// Vd32.ub=vmax(Vu32.ub,Vv32.ub)
|
||
|
v0.ub=vmax(v0.ub,v0.ub)
|
||
|
# CHECK-NEXT: 1f00c0a0 { v0.ub = vmax(v0.ub,v0.ub) }
|
||
|
|
||
|
// V6_vmaxuh
|
||
|
// Vd32.uh=vmax(Vu32.uh,Vv32.uh)
|
||
|
v0.uh=vmax(v0.uh,v0.uh)
|
||
|
# CHECK-NEXT: 1f00c0c0 { v0.uh = vmax(v0.uh,v0.uh) }
|
||
|
|
||
|
// V6_vmaxw
|
||
|
// Vd32.w=vmax(Vu32.w,Vv32.w)
|
||
|
v0.w=vmax(v0.w,v0.w)
|
||
|
# CHECK-NEXT: 1f20c000 { v0.w = vmax(v0.w,v0.w) }
|
||
|
|
||
|
// V6_vminb
|
||
|
// Vd32.b=vmin(Vu32.b,Vv32.b)
|
||
|
v0.b=vmin(v0.b,v0.b)
|
||
|
# CHECK-NEXT: 1f20c080 { v0.b = vmin(v0.b,v0.b) }
|
||
|
|
||
|
// V6_vminh
|
||
|
// Vd32.h=vmin(Vu32.h,Vv32.h)
|
||
|
v0.h=vmin(v0.h,v0.h)
|
||
|
# CHECK-NEXT: 1f00c060 { v0.h = vmin(v0.h,v0.h) }
|
||
|
|
||
|
// V6_vminub
|
||
|
// Vd32.ub=vmin(Vu32.ub,Vv32.ub)
|
||
|
v0.ub=vmin(v0.ub,v0.ub)
|
||
|
# CHECK-NEXT: 1f00c020 { v0.ub = vmin(v0.ub,v0.ub) }
|
||
|
|
||
|
// V6_vminuh
|
||
|
// Vd32.uh=vmin(Vu32.uh,Vv32.uh)
|
||
|
v0.uh=vmin(v0.uh,v0.uh)
|
||
|
# CHECK-NEXT: 1f00c040 { v0.uh = vmin(v0.uh,v0.uh) }
|
||
|
|
||
|
// V6_vminw
|
||
|
// Vd32.w=vmin(Vu32.w,Vv32.w)
|
||
|
v0.w=vmin(v0.w,v0.w)
|
||
|
# CHECK-NEXT: 1f00c080 { v0.w = vmin(v0.w,v0.w) }
|
||
|
|
||
|
// V6_vmpabus
|
||
|
// Vdd32.h=vmpa(Vuu32.ub,Rt32.b)
|
||
|
v1:0.h=vmpa(v1:0.ub,r0.b)
|
||
|
# CHECK-NEXT: 1920c0c0 { v1:0.h = vmpa(v1:0.ub,r0.b) }
|
||
|
|
||
|
// V6_vmpabus_acc
|
||
|
// Vxx32.h+=vmpa(Vuu32.ub,Rt32.b)
|
||
|
v1:0.h+=vmpa(v1:0.ub,r0.b)
|
||
|
# CHECK-NEXT: 1920e0c0 { v1:0.h += vmpa(v1:0.ub,r0.b) }
|
||
|
|
||
|
// V6_vmpabusv
|
||
|
// Vdd32.h=vmpa(Vuu32.ub,Vvv32.b)
|
||
|
v1:0.h=vmpa(v1:0.ub,v1:0.b)
|
||
|
# CHECK-NEXT: 1c20c060 { v1:0.h = vmpa(v1:0.ub,v1:0.b) }
|
||
|
|
||
|
// V6_vmpabuu
|
||
|
// Vdd32.h=vmpa(Vuu32.ub,Rt32.ub)
|
||
|
v1:0.h=vmpa(v1:0.ub,r0.ub)
|
||
|
# CHECK-NEXT: 1960c060 { v1:0.h = vmpa(v1:0.ub,r0.ub) }
|
||
|
|
||
|
// V6_vmpabuu_acc
|
||
|
// Vxx32.h+=vmpa(Vuu32.ub,Rt32.ub)
|
||
|
v1:0.h+=vmpa(v1:0.ub,r0.ub)
|
||
|
# CHECK-NEXT: 19a0e080 { v1:0.h += vmpa(v1:0.ub,r0.ub) }
|
||
|
|
||
|
// V6_vmpabuuv
|
||
|
// Vdd32.h=vmpa(Vuu32.ub,Vvv32.ub)
|
||
|
v1:0.h=vmpa(v1:0.ub,v1:0.ub)
|
||
|
# CHECK-NEXT: 1ce0c0e0 { v1:0.h = vmpa(v1:0.ub,v1:0.ub) }
|
||
|
|
||
|
// V6_vmpahb
|
||
|
// Vdd32.w=vmpa(Vuu32.h,Rt32.b)
|
||
|
v1:0.w=vmpa(v1:0.h,r0.b)
|
||
|
# CHECK-NEXT: 1920c0e0 { v1:0.w = vmpa(v1:0.h,r0.b) }
|
||
|
|
||
|
// V6_vmpahb_acc
|
||
|
// Vxx32.w+=vmpa(Vuu32.h,Rt32.b)
|
||
|
v1:0.w+=vmpa(v1:0.h,r0.b)
|
||
|
# CHECK-NEXT: 1920e0e0 { v1:0.w += vmpa(v1:0.h,r0.b) }
|
||
|
|
||
|
// V6_vmpahhsat
|
||
|
// Vx32.h=vmpa(Vx32.h,Vu32.h,Rtt32.h):sat
|
||
|
v0.h=vmpa(v0.h,v0.h,r1:0.h):sat
|
||
|
# CHECK-NEXT: 1980e080 { v0.h = vmpa(v0.h,v0.h,r1:0.h):sat }
|
||
|
|
||
|
// V6_vmpauhb
|
||
|
// Vdd32.w=vmpa(Vuu32.uh,Rt32.b)
|
||
|
v1:0.w=vmpa(v1:0.uh,r0.b)
|
||
|
# CHECK-NEXT: 1980c0a0 { v1:0.w = vmpa(v1:0.uh,r0.b) }
|
||
|
|
||
|
// V6_vmpauhb_acc
|
||
|
// Vxx32.w+=vmpa(Vuu32.uh,Rt32.b)
|
||
|
v1:0.w+=vmpa(v1:0.uh,r0.b)
|
||
|
# CHECK-NEXT: 1980e040 { v1:0.w += vmpa(v1:0.uh,r0.b) }
|
||
|
|
||
|
// V6_vmpauhuhsat
|
||
|
// Vx32.h=vmpa(Vx32.h,Vu32.uh,Rtt32.uh):sat
|
||
|
v0.h=vmpa(v0.h,v0.uh,r1:0.uh):sat
|
||
|
# CHECK-NEXT: 1980e0a0 { v0.h = vmpa(v0.h,v0.uh,r1:0.uh):sat }
|
||
|
|
||
|
// V6_vmpsuhuhsat
|
||
|
// Vx32.h=vmps(Vx32.h,Vu32.uh,Rtt32.uh):sat
|
||
|
v0.h=vmps(v0.h,v0.uh,r1:0.uh):sat
|
||
|
# CHECK-NEXT: 1980e0c0 { v0.h = vmps(v0.h,v0.uh,r1:0.uh):sat }
|
||
|
|
||
|
// V6_vmpybus
|
||
|
// Vdd32.h=vmpy(Vu32.ub,Rt32.b)
|
||
|
v1:0.h=vmpy(v0.ub,r0.b)
|
||
|
# CHECK-NEXT: 1920c0a0 { v1:0.h = vmpy(v0.ub,r0.b) }
|
||
|
|
||
|
// V6_vmpybus_acc
|
||
|
// Vxx32.h+=vmpy(Vu32.ub,Rt32.b)
|
||
|
v1:0.h+=vmpy(v0.ub,r0.b)
|
||
|
# CHECK-NEXT: 1920e0a0 { v1:0.h += vmpy(v0.ub,r0.b) }
|
||
|
|
||
|
// V6_vmpybusv
|
||
|
// Vdd32.h=vmpy(Vu32.ub,Vv32.b)
|
||
|
v1:0.h=vmpy(v0.ub,v0.b)
|
||
|
# CHECK-NEXT: 1c00c0c0 { v1:0.h = vmpy(v0.ub,v0.b) }
|
||
|
|
||
|
// V6_vmpybusv_acc
|
||
|
// Vxx32.h+=vmpy(Vu32.ub,Vv32.b)
|
||
|
v1:0.h+=vmpy(v0.ub,v0.b)
|
||
|
# CHECK-NEXT: 1c00e0c0 { v1:0.h += vmpy(v0.ub,v0.b) }
|
||
|
|
||
|
// V6_vmpybv
|
||
|
// Vdd32.h=vmpy(Vu32.b,Vv32.b)
|
||
|
v1:0.h=vmpy(v0.b,v0.b)
|
||
|
# CHECK-NEXT: 1c00c080 { v1:0.h = vmpy(v0.b,v0.b) }
|
||
|
|
||
|
// V6_vmpybv_acc
|
||
|
// Vxx32.h+=vmpy(Vu32.b,Vv32.b)
|
||
|
v1:0.h+=vmpy(v0.b,v0.b)
|
||
|
# CHECK-NEXT: 1c00e080 { v1:0.h += vmpy(v0.b,v0.b) }
|
||
|
|
||
|
// V6_vmpyewuh
|
||
|
// Vd32.w=vmpye(Vu32.w,Vv32.uh)
|
||
|
v0.w=vmpye(v0.w,v0.uh)
|
||
|
# CHECK-NEXT: 1fe0c0a0 { v0.w = vmpye(v0.w,v0.uh) }
|
||
|
|
||
|
// V6_vmpyewuh_64
|
||
|
// Vdd32=vmpye(Vu32.w,Vv32.uh)
|
||
|
v1:0=vmpye(v0.w,v0.uh)
|
||
|
# CHECK-NEXT: 1ea0c0c0 { v1:0 = vmpye(v0.w,v0.uh) }
|
||
|
|
||
|
// V6_vmpyh
|
||
|
// Vdd32.w=vmpy(Vu32.h,Rt32.h)
|
||
|
v1:0.w=vmpy(v0.h,r0.h)
|
||
|
# CHECK-NEXT: 1940c000 { v1:0.w = vmpy(v0.h,r0.h) }
|
||
|
|
||
|
// V6_vmpyh_acc
|
||
|
// Vxx32.w+=vmpy(Vu32.h,Rt32.h)
|
||
|
v1:0.w+=vmpy(v0.h,r0.h)
|
||
|
# CHECK-NEXT: 19a0e0c0 { v1:0.w += vmpy(v0.h,r0.h) }
|
||
|
|
||
|
// V6_vmpyhsat_acc
|
||
|
// Vxx32.w+=vmpy(Vu32.h,Rt32.h):sat
|
||
|
v1:0.w+=vmpy(v0.h,r0.h):sat
|
||
|
# CHECK-NEXT: 1940e000 { v1:0.w += vmpy(v0.h,r0.h):sat }
|
||
|
|
||
|
// V6_vmpyhsrs
|
||
|
// Vd32.h=vmpy(Vu32.h,Rt32.h):<<1:rnd:sat
|
||
|
v0.h=vmpy(v0.h,r0.h):<<1:rnd:sat
|
||
|
# CHECK-NEXT: 1940c040 { v0.h = vmpy(v0.h,r0.h):<<1:rnd:sat }
|
||
|
|
||
|
// V6_vmpyhss
|
||
|
// Vd32.h=vmpy(Vu32.h,Rt32.h):<<1:sat
|
||
|
v0.h=vmpy(v0.h,r0.h):<<1:sat
|
||
|
# CHECK-NEXT: 1940c020 { v0.h = vmpy(v0.h,r0.h):<<1:sat }
|
||
|
|
||
|
// V6_vmpyhus
|
||
|
// Vdd32.w=vmpy(Vu32.h,Vv32.uh)
|
||
|
v1:0.w=vmpy(v0.h,v0.uh)
|
||
|
# CHECK-NEXT: 1c20c040 { v1:0.w = vmpy(v0.h,v0.uh) }
|
||
|
|
||
|
// V6_vmpyhus_acc
|
||
|
// Vxx32.w+=vmpy(Vu32.h,Vv32.uh)
|
||
|
v1:0.w+=vmpy(v0.h,v0.uh)
|
||
|
# CHECK-NEXT: 1c20e020 { v1:0.w += vmpy(v0.h,v0.uh) }
|
||
|
|
||
|
// V6_vmpyhv
|
||
|
// Vdd32.w=vmpy(Vu32.h,Vv32.h)
|
||
|
v1:0.w=vmpy(v0.h,v0.h)
|
||
|
# CHECK-NEXT: 1c00c0e0 { v1:0.w = vmpy(v0.h,v0.h) }
|
||
|
|
||
|
// V6_vmpyhv_acc
|
||
|
// Vxx32.w+=vmpy(Vu32.h,Vv32.h)
|
||
|
v1:0.w+=vmpy(v0.h,v0.h)
|
||
|
# CHECK-NEXT: 1c00e0e0 { v1:0.w += vmpy(v0.h,v0.h) }
|
||
|
|
||
|
// V6_vmpyhvsrs
|
||
|
// Vd32.h=vmpy(Vu32.h,Vv32.h):<<1:rnd:sat
|
||
|
v0.h=vmpy(v0.h,v0.h):<<1:rnd:sat
|
||
|
# CHECK-NEXT: 1c20c020 { v0.h = vmpy(v0.h,v0.h):<<1:rnd:sat }
|
||
|
|
||
|
// V6_vmpyieoh
|
||
|
// Vd32.w=vmpyieo(Vu32.h,Vv32.h)
|
||
|
v0.w=vmpyieo(v0.h,v0.h)
|
||
|
# CHECK-NEXT: 1f60c000 { v0.w = vmpyieo(v0.h,v0.h) }
|
||
|
|
||
|
// V6_vmpyiewh_acc
|
||
|
// Vx32.w+=vmpyie(Vu32.w,Vv32.h)
|
||
|
v0.w+=vmpyie(v0.w,v0.h)
|
||
|
# CHECK-NEXT: 1c40e000 { v0.w += vmpyie(v0.w,v0.h) }
|
||
|
|
||
|
// V6_vmpyiewuh
|
||
|
// Vd32.w=vmpyie(Vu32.w,Vv32.uh)
|
||
|
v0.w=vmpyie(v0.w,v0.uh)
|
||
|
# CHECK-NEXT: 1fc0c000 { v0.w = vmpyie(v0.w,v0.uh) }
|
||
|
|
||
|
// V6_vmpyiewuh_acc
|
||
|
// Vx32.w+=vmpyie(Vu32.w,Vv32.uh)
|
||
|
v0.w+=vmpyie(v0.w,v0.uh)
|
||
|
# CHECK-NEXT: 1c20e0a0 { v0.w += vmpyie(v0.w,v0.uh) }
|
||
|
|
||
|
// V6_vmpyih
|
||
|
// Vd32.h=vmpyi(Vu32.h,Vv32.h)
|
||
|
v0.h=vmpyi(v0.h,v0.h)
|
||
|
# CHECK-NEXT: 1c20c080 { v0.h = vmpyi(v0.h,v0.h) }
|
||
|
|
||
|
// V6_vmpyih_acc
|
||
|
// Vx32.h+=vmpyi(Vu32.h,Vv32.h)
|
||
|
v0.h+=vmpyi(v0.h,v0.h)
|
||
|
# CHECK-NEXT: 1c20e080 { v0.h += vmpyi(v0.h,v0.h) }
|
||
|
|
||
|
// V6_vmpyihb
|
||
|
// Vd32.h=vmpyi(Vu32.h,Rt32.b)
|
||
|
v0.h=vmpyi(v0.h,r0.b)
|
||
|
# CHECK-NEXT: 1960c000 { v0.h = vmpyi(v0.h,r0.b) }
|
||
|
|
||
|
// V6_vmpyihb_acc
|
||
|
// Vx32.h+=vmpyi(Vu32.h,Rt32.b)
|
||
|
v0.h+=vmpyi(v0.h,r0.b)
|
||
|
# CHECK-NEXT: 1960e020 { v0.h += vmpyi(v0.h,r0.b) }
|
||
|
|
||
|
// V6_vmpyiowh
|
||
|
// Vd32.w=vmpyio(Vu32.w,Vv32.h)
|
||
|
v0.w=vmpyio(v0.w,v0.h)
|
||
|
# CHECK-NEXT: 1fc0c020 { v0.w = vmpyio(v0.w,v0.h) }
|
||
|
|
||
|
// V6_vmpyiwb
|
||
|
// Vd32.w=vmpyi(Vu32.w,Rt32.b)
|
||
|
v0.w=vmpyi(v0.w,r0.b)
|
||
|
# CHECK-NEXT: 19a0c000 { v0.w = vmpyi(v0.w,r0.b) }
|
||
|
|
||
|
// V6_vmpyiwb_acc
|
||
|
// Vx32.w+=vmpyi(Vu32.w,Rt32.b)
|
||
|
v0.w+=vmpyi(v0.w,r0.b)
|
||
|
# CHECK-NEXT: 1940e040 { v0.w += vmpyi(v0.w,r0.b) }
|
||
|
|
||
|
// V6_vmpyiwh
|
||
|
// Vd32.w=vmpyi(Vu32.w,Rt32.h)
|
||
|
v0.w=vmpyi(v0.w,r0.h)
|
||
|
# CHECK-NEXT: 1980c0e0 { v0.w = vmpyi(v0.w,r0.h) }
|
||
|
|
||
|
// V6_vmpyiwh_acc
|
||
|
// Vx32.w+=vmpyi(Vu32.w,Rt32.h)
|
||
|
v0.w+=vmpyi(v0.w,r0.h)
|
||
|
# CHECK-NEXT: 1940e060 { v0.w += vmpyi(v0.w,r0.h) }
|
||
|
|
||
|
// V6_vmpyiwub
|
||
|
// Vd32.w=vmpyi(Vu32.w,Rt32.ub)
|
||
|
v0.w=vmpyi(v0.w,r0.ub)
|
||
|
# CHECK-NEXT: 1980c0c0 { v0.w = vmpyi(v0.w,r0.ub) }
|
||
|
|
||
|
// V6_vmpyiwub_acc
|
||
|
// Vx32.w+=vmpyi(Vu32.w,Rt32.ub)
|
||
|
v0.w+=vmpyi(v0.w,r0.ub)
|
||
|
# CHECK-NEXT: 1980e020 { v0.w += vmpyi(v0.w,r0.ub) }
|
||
|
|
||
|
// V6_vmpyowh
|
||
|
// Vd32.w=vmpyo(Vu32.w,Vv32.h):<<1:sat
|
||
|
v0.w=vmpyo(v0.w,v0.h):<<1:sat
|
||
|
# CHECK-NEXT: 1fe0c0e0 { v0.w = vmpyo(v0.w,v0.h):<<1:sat }
|
||
|
|
||
|
// V6_vmpyowh_64_acc
|
||
|
// Vxx32+=vmpyo(Vu32.w,Vv32.h)
|
||
|
v1:0+=vmpyo(v0.w,v0.h)
|
||
|
# CHECK-NEXT: 1c20e060 { v1:0 += vmpyo(v0.w,v0.h) }
|
||
|
|
||
|
// V6_vmpyowh_rnd
|
||
|
// Vd32.w=vmpyo(Vu32.w,Vv32.h):<<1:rnd:sat
|
||
|
v0.w=vmpyo(v0.w,v0.h):<<1:rnd:sat
|
||
|
# CHECK-NEXT: 1f40c000 { v0.w = vmpyo(v0.w,v0.h):<<1:rnd:sat }
|
||
|
|
||
|
// V6_vmpyowh_rnd_sacc
|
||
|
// Vx32.w+=vmpyo(Vu32.w,Vv32.h):<<1:rnd:sat:shift
|
||
|
v0.w+=vmpyo(v0.w,v0.h):<<1:rnd:sat:shift
|
||
|
# CHECK-NEXT: 1c20e0e0 { v0.w += vmpyo(v0.w,v0.h):<<1:rnd:sat:shift }
|
||
|
|
||
|
// V6_vmpyowh_sacc
|
||
|
// Vx32.w+=vmpyo(Vu32.w,Vv32.h):<<1:sat:shift
|
||
|
v0.w+=vmpyo(v0.w,v0.h):<<1:sat:shift
|
||
|
# CHECK-NEXT: 1c20e0c0 { v0.w += vmpyo(v0.w,v0.h):<<1:sat:shift }
|
||
|
|
||
|
// V6_vmpyub
|
||
|
// Vdd32.uh=vmpy(Vu32.ub,Rt32.ub)
|
||
|
v1:0.uh=vmpy(v0.ub,r0.ub)
|
||
|
# CHECK-NEXT: 19c0c000 { v1:0.uh = vmpy(v0.ub,r0.ub) }
|
||
|
|
||
|
// V6_vmpyub_acc
|
||
|
// Vxx32.uh+=vmpy(Vu32.ub,Rt32.ub)
|
||
|
v1:0.uh+=vmpy(v0.ub,r0.ub)
|
||
|
# CHECK-NEXT: 1980e000 { v1:0.uh += vmpy(v0.ub,r0.ub) }
|
||
|
|
||
|
// V6_vmpyubv
|
||
|
// Vdd32.uh=vmpy(Vu32.ub,Vv32.ub)
|
||
|
v1:0.uh=vmpy(v0.ub,v0.ub)
|
||
|
# CHECK-NEXT: 1c00c0a0 { v1:0.uh = vmpy(v0.ub,v0.ub) }
|
||
|
|
||
|
// V6_vmpyubv_acc
|
||
|
// Vxx32.uh+=vmpy(Vu32.ub,Vv32.ub)
|
||
|
v1:0.uh+=vmpy(v0.ub,v0.ub)
|
||
|
# CHECK-NEXT: 1c00e0a0 { v1:0.uh += vmpy(v0.ub,v0.ub) }
|
||
|
|
||
|
// V6_vmpyuh
|
||
|
// Vdd32.uw=vmpy(Vu32.uh,Rt32.uh)
|
||
|
v1:0.uw=vmpy(v0.uh,r0.uh)
|
||
|
# CHECK-NEXT: 1940c060 { v1:0.uw = vmpy(v0.uh,r0.uh) }
|
||
|
|
||
|
// V6_vmpyuh_acc
|
||
|
// Vxx32.uw+=vmpy(Vu32.uh,Rt32.uh)
|
||
|
v1:0.uw+=vmpy(v0.uh,r0.uh)
|
||
|
# CHECK-NEXT: 1940e020 { v1:0.uw += vmpy(v0.uh,r0.uh) }
|
||
|
|
||
|
// V6_vmpyuhe
|
||
|
// Vd32.uw=vmpye(Vu32.uh,Rt32.uh)
|
||
|
v0.uw=vmpye(v0.uh,r0.uh)
|
||
|
# CHECK-NEXT: 1960c040 { v0.uw = vmpye(v0.uh,r0.uh) }
|
||
|
|
||
|
// V6_vmpyuhe_acc
|
||
|
// Vx32.uw+=vmpye(Vu32.uh,Rt32.uh)
|
||
|
v0.uw+=vmpye(v0.uh,r0.uh)
|
||
|
# CHECK-NEXT: 1980e060 { v0.uw += vmpye(v0.uh,r0.uh) }
|
||
|
|
||
|
// V6_vmpyuhv
|
||
|
// Vdd32.uw=vmpy(Vu32.uh,Vv32.uh)
|
||
|
v1:0.uw=vmpy(v0.uh,v0.uh)
|
||
|
# CHECK-NEXT: 1c20c000 { v1:0.uw = vmpy(v0.uh,v0.uh) }
|
||
|
|
||
|
// V6_vmpyuhv_acc
|
||
|
// Vxx32.uw+=vmpy(Vu32.uh,Vv32.uh)
|
||
|
v1:0.uw+=vmpy(v0.uh,v0.uh)
|
||
|
# CHECK-NEXT: 1c20e000 { v1:0.uw += vmpy(v0.uh,v0.uh) }
|
||
|
|
||
|
// V6_vmux
|
||
|
// Vd32=vmux(Qt4,Vu32,Vv32)
|
||
|
v0=vmux(q0,v0,v0)
|
||
|
# CHECK-NEXT: 1ee0e000 { v0 = vmux(q0,v0,v0) }
|
||
|
|
||
|
// V6_vnavgb
|
||
|
// Vd32.b=vnavg(Vu32.b,Vv32.b)
|
||
|
v0.b=vnavg(v0.b,v0.b)
|
||
|
# CHECK-NEXT: 1f00e0c0 { v0.b = vnavg(v0.b,v0.b) }
|
||
|
|
||
|
// V6_vnavgh
|
||
|
// Vd32.h=vnavg(Vu32.h,Vv32.h)
|
||
|
v0.h=vnavg(v0.h,v0.h)
|
||
|
# CHECK-NEXT: 1ce0c020 { v0.h = vnavg(v0.h,v0.h) }
|
||
|
|
||
|
// V6_vnavgub
|
||
|
// Vd32.b=vnavg(Vu32.ub,Vv32.ub)
|
||
|
v0.b=vnavg(v0.ub,v0.ub)
|
||
|
# CHECK-NEXT: 1ce0c000 { v0.b = vnavg(v0.ub,v0.ub) }
|
||
|
|
||
|
// V6_vnavgw
|
||
|
// Vd32.w=vnavg(Vu32.w,Vv32.w)
|
||
|
v0.w=vnavg(v0.w,v0.w)
|
||
|
# CHECK-NEXT: 1ce0c040 { v0.w = vnavg(v0.w,v0.w) }
|
||
|
|
||
|
// V6_vnccombine
|
||
|
// if (!Ps4) Vdd32=vcombine(Vu32,Vv32)
|
||
|
if (!p0) v1:0=vcombine(v0,v0)
|
||
|
# CHECK-NEXT: 1a40c000 { if (!p0) v1:0 = vcombine(v0,v0) }
|
||
|
|
||
|
// V6_vncmov
|
||
|
// if (!Ps4) Vd32=Vu32
|
||
|
if (!p0) v0=v0
|
||
|
# CHECK-NEXT: 1a20c000 { if (!p0) v0 = v0 }
|
||
|
|
||
|
// V6_vnormamth
|
||
|
// Vd32.h=vnormamt(Vu32.h)
|
||
|
v0.h=vnormamt(v0.h)
|
||
|
# CHECK-NEXT: 1e03c0a0 { v0.h = vnormamt(v0.h) }
|
||
|
|
||
|
// V6_vnormamtw
|
||
|
// Vd32.w=vnormamt(Vu32.w)
|
||
|
v0.w=vnormamt(v0.w)
|
||
|
# CHECK-NEXT: 1e03c080 { v0.w = vnormamt(v0.w) }
|
||
|
|
||
|
// V6_vnot
|
||
|
// Vd32=vnot(Vu32)
|
||
|
v0=vnot(v0)
|
||
|
# CHECK-NEXT: 1e00c080 { v0 = vnot(v0) }
|
||
|
|
||
|
// V6_vor
|
||
|
// Vd32=vor(Vu32,Vv32)
|
||
|
v0=vor(v0,v0)
|
||
|
# CHECK-NEXT: 1c20c0c0 { v0 = vor(v0,v0) }
|
||
|
|
||
|
// V6_vpackeb
|
||
|
// Vd32.b=vpacke(Vu32.h,Vv32.h)
|
||
|
v0.b=vpacke(v0.h,v0.h)
|
||
|
# CHECK-NEXT: 1fc0c040 { v0.b = vpacke(v0.h,v0.h) }
|
||
|
|
||
|
// V6_vpackeh
|
||
|
// Vd32.h=vpacke(Vu32.w,Vv32.w)
|
||
|
v0.h=vpacke(v0.w,v0.w)
|
||
|
# CHECK-NEXT: 1fc0c060 { v0.h = vpacke(v0.w,v0.w) }
|
||
|
|
||
|
// V6_vpackhb_sat
|
||
|
// Vd32.b=vpack(Vu32.h,Vv32.h):sat
|
||
|
v0.b=vpack(v0.h,v0.h):sat
|
||
|
# CHECK-NEXT: 1fc0c0c0 { v0.b = vpack(v0.h,v0.h):sat }
|
||
|
|
||
|
// V6_vpackhub_sat
|
||
|
// Vd32.ub=vpack(Vu32.h,Vv32.h):sat
|
||
|
v0.ub=vpack(v0.h,v0.h):sat
|
||
|
# CHECK-NEXT: 1fc0c0a0 { v0.ub = vpack(v0.h,v0.h):sat }
|
||
|
|
||
|
// V6_vpackob
|
||
|
// Vd32.b=vpacko(Vu32.h,Vv32.h)
|
||
|
v0.b=vpacko(v0.h,v0.h)
|
||
|
# CHECK-NEXT: 1fe0c020 { v0.b = vpacko(v0.h,v0.h) }
|
||
|
|
||
|
// V6_vpackoh
|
||
|
// Vd32.h=vpacko(Vu32.w,Vv32.w)
|
||
|
v0.h=vpacko(v0.w,v0.w)
|
||
|
# CHECK-NEXT: 1fe0c040 { v0.h = vpacko(v0.w,v0.w) }
|
||
|
|
||
|
// V6_vpackwh_sat
|
||
|
// Vd32.h=vpack(Vu32.w,Vv32.w):sat
|
||
|
v0.h=vpack(v0.w,v0.w):sat
|
||
|
# CHECK-NEXT: 1fe0c000 { v0.h = vpack(v0.w,v0.w):sat }
|
||
|
|
||
|
// V6_vpackwuh_sat
|
||
|
// Vd32.uh=vpack(Vu32.w,Vv32.w):sat
|
||
|
v0.uh=vpack(v0.w,v0.w):sat
|
||
|
# CHECK-NEXT: 1fc0c0e0 { v0.uh = vpack(v0.w,v0.w):sat }
|
||
|
|
||
|
// V6_vpopcounth
|
||
|
// Vd32.h=vpopcount(Vu32.h)
|
||
|
v0.h=vpopcount(v0.h)
|
||
|
# CHECK-NEXT: 1e02c0c0 { v0.h = vpopcount(v0.h) }
|
||
|
|
||
|
// V6_vprefixqb
|
||
|
// Vd32.b=prefixsum(Qv4)
|
||
|
v0.b=prefixsum(q0)
|
||
|
# CHECK-NEXT: 1e03e040 { v0.b = prefixsum(q0) }
|
||
|
|
||
|
// V6_vprefixqh
|
||
|
// Vd32.h=prefixsum(Qv4)
|
||
|
v0.h=prefixsum(q0)
|
||
|
# CHECK-NEXT: 1e03e140 { v0.h = prefixsum(q0) }
|
||
|
|
||
|
// V6_vprefixqw
|
||
|
// Vd32.w=prefixsum(Qv4)
|
||
|
v0.w=prefixsum(q0)
|
||
|
# CHECK-NEXT: 1e03e240 { v0.w = prefixsum(q0) }
|
||
|
|
||
|
// V6_vrdelta
|
||
|
// Vd32=vrdelta(Vu32,Vv32)
|
||
|
v0=vrdelta(v0,v0)
|
||
|
# CHECK-NEXT: 1f20c060 { v0 = vrdelta(v0,v0) }
|
||
|
|
||
|
// V6_vrmpybus
|
||
|
// Vd32.w=vrmpy(Vu32.ub,Rt32.b)
|
||
|
v0.w=vrmpy(v0.ub,r0.b)
|
||
|
# CHECK-NEXT: 1900c080 { v0.w = vrmpy(v0.ub,r0.b) }
|
||
|
|
||
|
// V6_vrmpybus_acc
|
||
|
// Vx32.w+=vrmpy(Vu32.ub,Rt32.b)
|
||
|
v0.w+=vrmpy(v0.ub,r0.b)
|
||
|
# CHECK-NEXT: 1900e0a0 { v0.w += vrmpy(v0.ub,r0.b) }
|
||
|
|
||
|
// V6_vrmpybusi
|
||
|
// Vdd32.w=vrmpy(Vuu32.ub,Rt32.b,#u1)
|
||
|
v1:0.w=vrmpy(v1:0.ub,r0.b,#0)
|
||
|
# CHECK-NEXT: 1940c080 { v1:0.w = vrmpy(v1:0.ub,r0.b,#0) }
|
||
|
|
||
|
// V6_vrmpybusi_acc
|
||
|
// Vxx32.w+=vrmpy(Vuu32.ub,Rt32.b,#u1)
|
||
|
v1:0.w+=vrmpy(v1:0.ub,r0.b,#0)
|
||
|
# CHECK-NEXT: 1940e080 { v1:0.w += vrmpy(v1:0.ub,r0.b,#0) }
|
||
|
|
||
|
// V6_vrmpybusv
|
||
|
// Vd32.w=vrmpy(Vu32.ub,Vv32.b)
|
||
|
v0.w=vrmpy(v0.ub,v0.b)
|
||
|
# CHECK-NEXT: 1c00c040 { v0.w = vrmpy(v0.ub,v0.b) }
|
||
|
|
||
|
// V6_vrmpybusv_acc
|
||
|
// Vx32.w+=vrmpy(Vu32.ub,Vv32.b)
|
||
|
v0.w+=vrmpy(v0.ub,v0.b)
|
||
|
# CHECK-NEXT: 1c00e040 { v0.w += vrmpy(v0.ub,v0.b) }
|
||
|
|
||
|
// V6_vrmpybv
|
||
|
// Vd32.w=vrmpy(Vu32.b,Vv32.b)
|
||
|
v0.w=vrmpy(v0.b,v0.b)
|
||
|
# CHECK-NEXT: 1c00c020 { v0.w = vrmpy(v0.b,v0.b) }
|
||
|
|
||
|
// V6_vrmpybv_acc
|
||
|
// Vx32.w+=vrmpy(Vu32.b,Vv32.b)
|
||
|
v0.w+=vrmpy(v0.b,v0.b)
|
||
|
# CHECK-NEXT: 1c00e020 { v0.w += vrmpy(v0.b,v0.b) }
|
||
|
|
||
|
// V6_vrmpyub
|
||
|
// Vd32.uw=vrmpy(Vu32.ub,Rt32.ub)
|
||
|
v0.uw=vrmpy(v0.ub,r0.ub)
|
||
|
# CHECK-NEXT: 1900c060 { v0.uw = vrmpy(v0.ub,r0.ub) }
|
||
|
|
||
|
// V6_vrmpyub_acc
|
||
|
// Vx32.uw+=vrmpy(Vu32.ub,Rt32.ub)
|
||
|
v0.uw+=vrmpy(v0.ub,r0.ub)
|
||
|
# CHECK-NEXT: 1900e080 { v0.uw += vrmpy(v0.ub,r0.ub) }
|
||
|
|
||
|
// V6_vrmpyubi
|
||
|
// Vdd32.uw=vrmpy(Vuu32.ub,Rt32.ub,#u1)
|
||
|
v1:0.uw=vrmpy(v1:0.ub,r0.ub,#0)
|
||
|
# CHECK-NEXT: 19a0c0c0 { v1:0.uw = vrmpy(v1:0.ub,r0.ub,#0) }
|
||
|
|
||
|
// V6_vrmpyubi_acc
|
||
|
// Vxx32.uw+=vrmpy(Vuu32.ub,Rt32.ub,#u1)
|
||
|
v1:0.uw+=vrmpy(v1:0.ub,r0.ub,#0)
|
||
|
# CHECK-NEXT: 1960e0c0 { v1:0.uw += vrmpy(v1:0.ub,r0.ub,#0) }
|
||
|
|
||
|
// V6_vrmpyubv
|
||
|
// Vd32.uw=vrmpy(Vu32.ub,Vv32.ub)
|
||
|
v0.uw=vrmpy(v0.ub,v0.ub)
|
||
|
# CHECK-NEXT: 1c00c000 { v0.uw = vrmpy(v0.ub,v0.ub) }
|
||
|
|
||
|
// V6_vrmpyubv_acc
|
||
|
// Vx32.uw+=vrmpy(Vu32.ub,Vv32.ub)
|
||
|
v0.uw+=vrmpy(v0.ub,v0.ub)
|
||
|
# CHECK-NEXT: 1c00e000 { v0.uw += vrmpy(v0.ub,v0.ub) }
|
||
|
|
||
|
// V6_vrmpyzbb_rt
|
||
|
// Vdddd32.w=vrmpyz(Vu32.b,Rt8.b)
|
||
|
v3:0.w=vrmpyz(v0.b,r0.b)
|
||
|
# CHECK-NEXT: 19e8c000 { v3:0.w = vrmpyz(v0.b,r0.b) }
|
||
|
|
||
|
// V6_vrmpyzbb_rt_acc
|
||
|
// Vyyyy32.w+=vrmpyz(Vu32.b,Rt8.b)
|
||
|
v3:0.w+=vrmpyz(v0.b,r0.b)
|
||
|
# CHECK-NEXT: 19c0e040 { v3:0.w += vrmpyz(v0.b,r0.b) }
|
||
|
|
||
|
// V6_vrmpyzbb_rx
|
||
|
// Vdddd32.w=vrmpyz(Vu32.b,Rx8.b++)
|
||
|
v3:0.w=vrmpyz(v0.b,r0.b++)
|
||
|
# CHECK-NEXT: 19e0c000 { v3:0.w = vrmpyz(v0.b,r0.b++) }
|
||
|
|
||
|
// V6_vrmpyzbb_rx_acc
|
||
|
// Vyyyy32.w+=vrmpyz(Vu32.b,Rx8.b++)
|
||
|
v3:0.w+=vrmpyz(v0.b,r0.b++)
|
||
|
# CHECK-NEXT: 19c8e040 { v3:0.w += vrmpyz(v0.b,r0.b++) }
|
||
|
|
||
|
// V6_vrmpyzbub_rt
|
||
|
// Vdddd32.w=vrmpyz(Vu32.b,Rt8.ub)
|
||
|
v3:0.w=vrmpyz(v0.b,r0.ub)
|
||
|
# CHECK-NEXT: 19f8c040 { v3:0.w = vrmpyz(v0.b,r0.ub) }
|
||
|
|
||
|
// V6_vrmpyzbub_rt_acc
|
||
|
// Vyyyy32.w+=vrmpyz(Vu32.b,Rt8.ub)
|
||
|
v3:0.w+=vrmpyz(v0.b,r0.ub)
|
||
|
# CHECK-NEXT: 19d0e020 { v3:0.w += vrmpyz(v0.b,r0.ub) }
|
||
|
|
||
|
// V6_vrmpyzbub_rx
|
||
|
// Vdddd32.w=vrmpyz(Vu32.b,Rx8.ub++)
|
||
|
v3:0.w=vrmpyz(v0.b,r0.ub++)
|
||
|
# CHECK-NEXT: 19f0c040 { v3:0.w = vrmpyz(v0.b,r0.ub++) }
|
||
|
|
||
|
// V6_vrmpyzbub_rx_acc
|
||
|
// Vyyyy32.w+=vrmpyz(Vu32.b,Rx8.ub++)
|
||
|
v3:0.w+=vrmpyz(v0.b,r0.ub++)
|
||
|
# CHECK-NEXT: 19d8e020 { v3:0.w += vrmpyz(v0.b,r0.ub++) }
|
||
|
|
||
|
// V6_vrmpyzcb_rt
|
||
|
// Vdddd32.w=vr16mpyz(Vu32.c,Rt8.b)
|
||
|
v3:0.w=vr16mpyz(v0.c,r0.b)
|
||
|
# CHECK-NEXT: 19e8c020 { v3:0.w = vr16mpyz(v0.c,r0.b) }
|
||
|
|
||
|
// V6_vrmpyzcb_rt_acc
|
||
|
// Vyyyy32.w+=vr16mpyz(Vu32.c,Rt8.b)
|
||
|
v3:0.w+=vr16mpyz(v0.c,r0.b)
|
||
|
# CHECK-NEXT: 19c0e060 { v3:0.w += vr16mpyz(v0.c,r0.b) }
|
||
|
|
||
|
// V6_vrmpyzcb_rx
|
||
|
// Vdddd32.w=vr16mpyz(Vu32.c,Rx8.b++)
|
||
|
v3:0.w=vr16mpyz(v0.c,r0.b++)
|
||
|
# CHECK-NEXT: 19e0c020 { v3:0.w = vr16mpyz(v0.c,r0.b++) }
|
||
|
|
||
|
// V6_vrmpyzcb_rx_acc
|
||
|
// Vyyyy32.w+=vr16mpyz(Vu32.c,Rx8.b++)
|
||
|
v3:0.w+=vr16mpyz(v0.c,r0.b++)
|
||
|
# CHECK-NEXT: 19c8e060 { v3:0.w += vr16mpyz(v0.c,r0.b++) }
|
||
|
|
||
|
// V6_vrmpyzcbs_rt
|
||
|
// Vdddd32.w=vr16mpyzs(Vu32.c,Rt8.b)
|
||
|
v3:0.w=vr16mpyzs(v0.c,r0.b)
|
||
|
# CHECK-NEXT: 19e8c040 { v3:0.w = vr16mpyzs(v0.c,r0.b) }
|
||
|
|
||
|
// V6_vrmpyzcbs_rt_acc
|
||
|
// Vyyyy32.w+=vr16mpyzs(Vu32.c,Rt8.b)
|
||
|
v3:0.w+=vr16mpyzs(v0.c,r0.b)
|
||
|
# CHECK-NEXT: 19c0e020 { v3:0.w += vr16mpyzs(v0.c,r0.b) }
|
||
|
|
||
|
// V6_vrmpyzcbs_rx
|
||
|
// Vdddd32.w=vr16mpyzs(Vu32.c,Rx8.b++)
|
||
|
v3:0.w=vr16mpyzs(v0.c,r0.b++)
|
||
|
# CHECK-NEXT: 19e0c040 { v3:0.w = vr16mpyzs(v0.c,r0.b++) }
|
||
|
|
||
|
// V6_vrmpyzcbs_rx_acc
|
||
|
// Vyyyy32.w+=vr16mpyzs(Vu32.c,Rx8.b++)
|
||
|
v3:0.w+=vr16mpyzs(v0.c,r0.b++)
|
||
|
# CHECK-NEXT: 19c8e020 { v3:0.w += vr16mpyzs(v0.c,r0.b++) }
|
||
|
|
||
|
// V6_vrmpyznb_rt
|
||
|
// Vdddd32.w=vr8mpyz(Vu32.n,Rt8.b)
|
||
|
v3:0.w=vr8mpyz(v0.n,r0.b)
|
||
|
# CHECK-NEXT: 19f8c000 { v3:0.w = vr8mpyz(v0.n,r0.b) }
|
||
|
|
||
|
// V6_vrmpyznb_rt_acc
|
||
|
// Vyyyy32.w+=vr8mpyz(Vu32.n,Rt8.b)
|
||
|
v3:0.w+=vr8mpyz(v0.n,r0.b)
|
||
|
# CHECK-NEXT: 19d0e040 { v3:0.w += vr8mpyz(v0.n,r0.b) }
|
||
|
|
||
|
// V6_vrmpyznb_rx
|
||
|
// Vdddd32.w=vr8mpyz(Vu32.n,Rx8.b++)
|
||
|
v3:0.w=vr8mpyz(v0.n,r0.b++)
|
||
|
# CHECK-NEXT: 19f0c000 { v3:0.w = vr8mpyz(v0.n,r0.b++) }
|
||
|
|
||
|
// V6_vrmpyznb_rx_acc
|
||
|
// Vyyyy32.w+=vr8mpyz(Vu32.n,Rx8.b++)
|
||
|
v3:0.w+=vr8mpyz(v0.n,r0.b++)
|
||
|
# CHECK-NEXT: 19d8e040 { v3:0.w += vr8mpyz(v0.n,r0.b++) }
|
||
|
|
||
|
// V6_vror
|
||
|
// Vd32=vror(Vu32,Rt32)
|
||
|
v0=vror(v0,r0)
|
||
|
# CHECK-NEXT: 1960c020 { v0 = vror(v0,r0) }
|
||
|
|
||
|
// V6_vrotr
|
||
|
// Vd32.uw=vrotr(Vu32.uw,Vv32.uw)
|
||
|
v0.uw=vrotr(v0.uw,v0.uw)
|
||
|
# CHECK-NEXT: 1a80e0e0 { v0.uw = vrotr(v0.uw,v0.uw) }
|
||
|
|
||
|
// V6_vroundhb
|
||
|
// Vd32.b=vround(Vu32.h,Vv32.h):sat
|
||
|
v0.b=vround(v0.h,v0.h):sat
|
||
|
# CHECK-NEXT: 1f60c0c0 { v0.b = vround(v0.h,v0.h):sat }
|
||
|
|
||
|
// V6_vroundhub
|
||
|
// Vd32.ub=vround(Vu32.h,Vv32.h):sat
|
||
|
v0.ub=vround(v0.h,v0.h):sat
|
||
|
# CHECK-NEXT: 1f60c0e0 { v0.ub = vround(v0.h,v0.h):sat }
|
||
|
|
||
|
// V6_vrounduhub
|
||
|
// Vd32.ub=vround(Vu32.uh,Vv32.uh):sat
|
||
|
v0.ub=vround(v0.uh,v0.uh):sat
|
||
|
# CHECK-NEXT: 1fe0c060 { v0.ub = vround(v0.uh,v0.uh):sat }
|
||
|
|
||
|
// V6_vrounduwuh
|
||
|
// Vd32.uh=vround(Vu32.uw,Vv32.uw):sat
|
||
|
v0.uh=vround(v0.uw,v0.uw):sat
|
||
|
# CHECK-NEXT: 1fe0c080 { v0.uh = vround(v0.uw,v0.uw):sat }
|
||
|
|
||
|
// V6_vroundwh
|
||
|
// Vd32.h=vround(Vu32.w,Vv32.w):sat
|
||
|
v0.h=vround(v0.w,v0.w):sat
|
||
|
# CHECK-NEXT: 1f60c080 { v0.h = vround(v0.w,v0.w):sat }
|
||
|
|
||
|
// V6_vroundwuh
|
||
|
// Vd32.uh=vround(Vu32.w,Vv32.w):sat
|
||
|
v0.uh=vround(v0.w,v0.w):sat
|
||
|
# CHECK-NEXT: 1f60c0a0 { v0.uh = vround(v0.w,v0.w):sat }
|
||
|
|
||
|
// V6_vrsadubi
|
||
|
// Vdd32.uw=vrsad(Vuu32.ub,Rt32.ub,#u1)
|
||
|
v1:0.uw=vrsad(v1:0.ub,r0.ub,#0)
|
||
|
# CHECK-NEXT: 1940c0c0 { v1:0.uw = vrsad(v1:0.ub,r0.ub,#0) }
|
||
|
|
||
|
// V6_vrsadubi_acc
|
||
|
// Vxx32.uw+=vrsad(Vuu32.ub,Rt32.ub,#u1)
|
||
|
v1:0.uw+=vrsad(v1:0.ub,r0.ub,#0)
|
||
|
# CHECK-NEXT: 1940e0c0 { v1:0.uw += vrsad(v1:0.ub,r0.ub,#0) }
|
||
|
|
||
|
// V6_vsatdw
|
||
|
// Vd32.w=vsatdw(Vu32.w,Vv32.w)
|
||
|
v0.w=vsatdw(v0.w,v0.w)
|
||
|
# CHECK-NEXT: 1d80e0e0 { v0.w = vsatdw(v0.w,v0.w) }
|
||
|
|
||
|
// V6_vsathub
|
||
|
// Vd32.ub=vsat(Vu32.h,Vv32.h)
|
||
|
v0.ub=vsat(v0.h,v0.h)
|
||
|
# CHECK-NEXT: 1f60c040 { v0.ub = vsat(v0.h,v0.h) }
|
||
|
|
||
|
// V6_vsatuwuh
|
||
|
// Vd32.uh=vsat(Vu32.uw,Vv32.uw)
|
||
|
v0.uh=vsat(v0.uw,v0.uw)
|
||
|
# CHECK-NEXT: 1f20c0c0 { v0.uh = vsat(v0.uw,v0.uw) }
|
||
|
|
||
|
// V6_vsatwh
|
||
|
// Vd32.h=vsat(Vu32.w,Vv32.w)
|
||
|
v0.h=vsat(v0.w,v0.w)
|
||
|
# CHECK-NEXT: 1f60c060 { v0.h = vsat(v0.w,v0.w) }
|
||
|
|
||
|
// V6_vsb
|
||
|
// Vdd32.h=vsxt(Vu32.b)
|
||
|
v1:0.h=vsxt(v0.b)
|
||
|
# CHECK-NEXT: 1e02c060 { v1:0.h = vsxt(v0.b) }
|
||
|
|
||
|
// V6_vscattermh
|
||
|
// vscatter(Rt32,Mu2,Vv32.h).h=Vw32
|
||
|
vscatter(r0,m0,v0.h).h=v0
|
||
|
# CHECK-NEXT: 2f20c020 { vscatter(r0,m0,v0.h).h = v0 }
|
||
|
|
||
|
// V6_vscattermh_add
|
||
|
// vscatter(Rt32,Mu2,Vv32.h).h+=Vw32
|
||
|
vscatter(r0,m0,v0.h).h+=v0
|
||
|
# CHECK-NEXT: 2f20c0a0 { vscatter(r0,m0,v0.h).h += v0 }
|
||
|
|
||
|
// V6_vscattermhq
|
||
|
// if (Qs4) vscatter(Rt32,Mu2,Vv32.h).h=Vw32
|
||
|
if (q0) vscatter(r0,m0,v0.h).h=v0
|
||
|
# CHECK-NEXT: 2f80c080 { if (q0) vscatter(r0,m0,v0.h).h = v0 }
|
||
|
|
||
|
// V6_vscattermhw
|
||
|
// vscatter(Rt32,Mu2,Vvv32.w).h=Vw32
|
||
|
vscatter(r0,m0,v1:0.w).h=v0
|
||
|
# CHECK-NEXT: 2f20c040 { vscatter(r0,m0,v1:0.w).h = v0 }
|
||
|
|
||
|
// V6_vscattermhw_add
|
||
|
// vscatter(Rt32,Mu2,Vvv32.w).h+=Vw32
|
||
|
vscatter(r0,m0,v1:0.w).h+=v0
|
||
|
# CHECK-NEXT: 2f20c0c0 { vscatter(r0,m0,v1:0.w).h += v0 }
|
||
|
|
||
|
// V6_vscattermhwq
|
||
|
// if (Qs4) vscatter(Rt32,Mu2,Vvv32.w).h=Vw32
|
||
|
if (q0) vscatter(r0,m0,v1:0.w).h=v0
|
||
|
# CHECK-NEXT: 2fa0c000 { if (q0) vscatter(r0,m0,v1:0.w).h = v0 }
|
||
|
|
||
|
// V6_vscattermw
|
||
|
// vscatter(Rt32,Mu2,Vv32.w).w=Vw32
|
||
|
vscatter(r0,m0,v0.w).w=v0
|
||
|
# CHECK-NEXT: 2f20c000 { vscatter(r0,m0,v0.w).w = v0 }
|
||
|
|
||
|
// V6_vscattermw_add
|
||
|
// vscatter(Rt32,Mu2,Vv32.w).w+=Vw32
|
||
|
vscatter(r0,m0,v0.w).w+=v0
|
||
|
# CHECK-NEXT: 2f20c080 { vscatter(r0,m0,v0.w).w += v0 }
|
||
|
|
||
|
// V6_vscattermwq
|
||
|
// if (Qs4) vscatter(Rt32,Mu2,Vv32.w).w=Vw32
|
||
|
if (q0) vscatter(r0,m0,v0.w).w=v0
|
||
|
# CHECK-NEXT: 2f80c000 { if (q0) vscatter(r0,m0,v0.w).w = v0 }
|
||
|
|
||
|
// V6_vsh
|
||
|
// Vdd32.w=vsxt(Vu32.h)
|
||
|
v1:0.w=vsxt(v0.h)
|
||
|
# CHECK-NEXT: 1e02c080 { v1:0.w = vsxt(v0.h) }
|
||
|
|
||
|
// V6_vshufeh
|
||
|
// Vd32.h=vshuffe(Vu32.h,Vv32.h)
|
||
|
v0.h=vshuffe(v0.h,v0.h)
|
||
|
# CHECK-NEXT: 1f40c060 { v0.h = vshuffe(v0.h,v0.h) }
|
||
|
|
||
|
// V6_vshuff
|
||
|
// vshuff(Vy32,Vx32,Rt32)
|
||
|
vshuff(v0,v0,r0)
|
||
|
# CHECK-NEXT: 19e0e020 { vshuff(v0,v0,r0) }
|
||
|
|
||
|
// V6_vshuffb
|
||
|
// Vd32.b=vshuff(Vu32.b)
|
||
|
v0.b=vshuff(v0.b)
|
||
|
# CHECK-NEXT: 1e02c000 { v0.b = vshuff(v0.b) }
|
||
|
|
||
|
// V6_vshuffeb
|
||
|
// Vd32.b=vshuffe(Vu32.b,Vv32.b)
|
||
|
v0.b=vshuffe(v0.b,v0.b)
|
||
|
# CHECK-NEXT: 1f40c020 { v0.b = vshuffe(v0.b,v0.b) }
|
||
|
|
||
|
// V6_vshuffh
|
||
|
// Vd32.h=vshuff(Vu32.h)
|
||
|
v0.h=vshuff(v0.h)
|
||
|
# CHECK-NEXT: 1e01c0e0 { v0.h = vshuff(v0.h) }
|
||
|
|
||
|
// V6_vshuffob
|
||
|
// Vd32.b=vshuffo(Vu32.b,Vv32.b)
|
||
|
v0.b=vshuffo(v0.b,v0.b)
|
||
|
# CHECK-NEXT: 1f40c040 { v0.b = vshuffo(v0.b,v0.b) }
|
||
|
|
||
|
// V6_vshuffvdd
|
||
|
// Vdd32=vshuff(Vu32,Vv32,Rt8)
|
||
|
v1:0=vshuff(v0,v0,r0)
|
||
|
# CHECK-NEXT: 1b00e060 { v1:0 = vshuff(v0,v0,r0) }
|
||
|
|
||
|
// V6_vshufoeb
|
||
|
// Vdd32.b=vshuffoe(Vu32.b,Vv32.b)
|
||
|
v1:0.b=vshuffoe(v0.b,v0.b)
|
||
|
# CHECK-NEXT: 1f40c0c0 { v1:0.b = vshuffoe(v0.b,v0.b) }
|
||
|
|
||
|
// V6_vshufoeh
|
||
|
// Vdd32.h=vshuffoe(Vu32.h,Vv32.h)
|
||
|
v1:0.h=vshuffoe(v0.h,v0.h)
|
||
|
# CHECK-NEXT: 1f40c0a0 { v1:0.h = vshuffoe(v0.h,v0.h) }
|
||
|
|
||
|
// V6_vshufoh
|
||
|
// Vd32.h=vshuffo(Vu32.h,Vv32.h)
|
||
|
v0.h=vshuffo(v0.h,v0.h)
|
||
|
# CHECK-NEXT: 1f40c080 { v0.h = vshuffo(v0.h,v0.h) }
|
||
|
|
||
|
// V6_vsubb
|
||
|
// Vd32.b=vsub(Vu32.b,Vv32.b)
|
||
|
v0.b=vsub(v0.b,v0.b)
|
||
|
# CHECK-NEXT: 1c40c0a0 { v0.b = vsub(v0.b,v0.b) }
|
||
|
|
||
|
// V6_vsubb_dv
|
||
|
// Vdd32.b=vsub(Vuu32.b,Vvv32.b)
|
||
|
v1:0.b=vsub(v1:0.b,v1:0.b)
|
||
|
# CHECK-NEXT: 1c80c060 { v1:0.b = vsub(v1:0.b,v1:0.b) }
|
||
|
|
||
|
// V6_vsubbnq
|
||
|
// if (!Qv4) Vx32.b-=Vu32.b
|
||
|
if (!q0) v0.b-=v0.b
|
||
|
# CHECK-NEXT: 1e02e020 { if (!q0) v0.b -= v0.b }
|
||
|
|
||
|
// V6_vsubbq
|
||
|
// if (Qv4) Vx32.b-=Vu32.b
|
||
|
if (q0) v0.b-=v0.b
|
||
|
# CHECK-NEXT: 1e01e0c0 { if (q0) v0.b -= v0.b }
|
||
|
|
||
|
// V6_vsubbsat
|
||
|
// Vd32.b=vsub(Vu32.b,Vv32.b):sat
|
||
|
v0.b=vsub(v0.b,v0.b):sat
|
||
|
# CHECK-NEXT: 1f20c040 { v0.b = vsub(v0.b,v0.b):sat }
|
||
|
|
||
|
// V6_vsubbsat_dv
|
||
|
// Vdd32.b=vsub(Vuu32.b,Vvv32.b):sat
|
||
|
v1:0.b=vsub(v1:0.b,v1:0.b):sat
|
||
|
# CHECK-NEXT: 1ea0c020 { v1:0.b = vsub(v1:0.b,v1:0.b):sat }
|
||
|
|
||
|
// V6_vsubcarry
|
||
|
// Vd32.w=vsub(Vu32.w,Vv32.w,Qx4):carry
|
||
|
v0.w=vsub(v0.w,v0.w,q0):carry
|
||
|
# CHECK-NEXT: 1ca0e080 { v0.w = vsub(v0.w,v0.w,q0):carry }
|
||
|
|
||
|
// V6_vsubcarryo
|
||
|
// Vd32.w,Qe4=vsub(Vu32.w,Vv32.w):carry
|
||
|
v0.w,q0=vsub(v0.w,v0.w):carry
|
||
|
# CHECK-NEXT: 1da0e080 { v0.w,q0 = vsub(v0.w,v0.w):carry }
|
||
|
|
||
|
// V6_vsubh
|
||
|
// Vd32.h=vsub(Vu32.h,Vv32.h)
|
||
|
v0.h=vsub(v0.h,v0.h)
|
||
|
# CHECK-NEXT: 1c40c0c0 { v0.h = vsub(v0.h,v0.h) }
|
||
|
|
||
|
// V6_vsubh_dv
|
||
|
// Vdd32.h=vsub(Vuu32.h,Vvv32.h)
|
||
|
v1:0.h=vsub(v1:0.h,v1:0.h)
|
||
|
# CHECK-NEXT: 1c80c080 { v1:0.h = vsub(v1:0.h,v1:0.h) }
|
||
|
|
||
|
// V6_vsubhnq
|
||
|
// if (!Qv4) Vx32.h-=Vu32.h
|
||
|
if (!q0) v0.h-=v0.h
|
||
|
# CHECK-NEXT: 1e02e040 { if (!q0) v0.h -= v0.h }
|
||
|
|
||
|
// V6_vsubhq
|
||
|
// if (Qv4) Vx32.h-=Vu32.h
|
||
|
if (q0) v0.h-=v0.h
|
||
|
# CHECK-NEXT: 1e01e0e0 { if (q0) v0.h -= v0.h }
|
||
|
|
||
|
// V6_vsubhsat
|
||
|
// Vd32.h=vsub(Vu32.h,Vv32.h):sat
|
||
|
v0.h=vsub(v0.h,v0.h):sat
|
||
|
# CHECK-NEXT: 1c60c040 { v0.h = vsub(v0.h,v0.h):sat }
|
||
|
|
||
|
// V6_vsubhsat_dv
|
||
|
// Vdd32.h=vsub(Vuu32.h,Vvv32.h):sat
|
||
|
v1:0.h=vsub(v1:0.h,v1:0.h):sat
|
||
|
# CHECK-NEXT: 1ca0c000 { v1:0.h = vsub(v1:0.h,v1:0.h):sat }
|
||
|
|
||
|
// V6_vsubhw
|
||
|
// Vdd32.w=vsub(Vu32.h,Vv32.h)
|
||
|
v1:0.w=vsub(v0.h,v0.h)
|
||
|
# CHECK-NEXT: 1ca0c0e0 { v1:0.w = vsub(v0.h,v0.h) }
|
||
|
|
||
|
// V6_vsububh
|
||
|
// Vdd32.h=vsub(Vu32.ub,Vv32.ub)
|
||
|
v1:0.h=vsub(v0.ub,v0.ub)
|
||
|
# CHECK-NEXT: 1ca0c0a0 { v1:0.h = vsub(v0.ub,v0.ub) }
|
||
|
|
||
|
// V6_vsububsat
|
||
|
// Vd32.ub=vsub(Vu32.ub,Vv32.ub):sat
|
||
|
v0.ub=vsub(v0.ub,v0.ub):sat
|
||
|
# CHECK-NEXT: 1c60c000 { v0.ub = vsub(v0.ub,v0.ub):sat }
|
||
|
|
||
|
// V6_vsububsat_dv
|
||
|
// Vdd32.ub=vsub(Vuu32.ub,Vvv32.ub):sat
|
||
|
v1:0.ub=vsub(v1:0.ub,v1:0.ub):sat
|
||
|
# CHECK-NEXT: 1c80c0c0 { v1:0.ub = vsub(v1:0.ub,v1:0.ub):sat }
|
||
|
|
||
|
// V6_vsubububb_sat
|
||
|
// Vd32.ub=vsub(Vu32.ub,Vv32.b):sat
|
||
|
v0.ub=vsub(v0.ub,v0.b):sat
|
||
|
# CHECK-NEXT: 1ea0c0a0 { v0.ub = vsub(v0.ub,v0.b):sat }
|
||
|
|
||
|
// V6_vsubuhsat
|
||
|
// Vd32.uh=vsub(Vu32.uh,Vv32.uh):sat
|
||
|
v0.uh=vsub(v0.uh,v0.uh):sat
|
||
|
# CHECK-NEXT: 1c60c020 { v0.uh = vsub(v0.uh,v0.uh):sat }
|
||
|
|
||
|
// V6_vsubuhsat_dv
|
||
|
// Vdd32.uh=vsub(Vuu32.uh,Vvv32.uh):sat
|
||
|
v1:0.uh=vsub(v1:0.uh,v1:0.uh):sat
|
||
|
# CHECK-NEXT: 1c80c0e0 { v1:0.uh = vsub(v1:0.uh,v1:0.uh):sat }
|
||
|
|
||
|
// V6_vsubuhw
|
||
|
// Vdd32.w=vsub(Vu32.uh,Vv32.uh)
|
||
|
v1:0.w=vsub(v0.uh,v0.uh)
|
||
|
# CHECK-NEXT: 1ca0c0c0 { v1:0.w = vsub(v0.uh,v0.uh) }
|
||
|
|
||
|
// V6_vsubuwsat
|
||
|
// Vd32.uw=vsub(Vu32.uw,Vv32.uw):sat
|
||
|
v0.uw=vsub(v0.uw,v0.uw):sat
|
||
|
# CHECK-NEXT: 1fc0c080 { v0.uw = vsub(v0.uw,v0.uw):sat }
|
||
|
|
||
|
// V6_vsubuwsat_dv
|
||
|
// Vdd32.uw=vsub(Vuu32.uw,Vvv32.uw):sat
|
||
|
v1:0.uw=vsub(v1:0.uw,v1:0.uw):sat
|
||
|
# CHECK-NEXT: 1ea0c060 { v1:0.uw = vsub(v1:0.uw,v1:0.uw):sat }
|
||
|
|
||
|
// V6_vsubw
|
||
|
// Vd32.w=vsub(Vu32.w,Vv32.w)
|
||
|
v0.w=vsub(v0.w,v0.w)
|
||
|
# CHECK-NEXT: 1c40c0e0 { v0.w = vsub(v0.w,v0.w) }
|
||
|
|
||
|
// V6_vsubw_dv
|
||
|
// Vdd32.w=vsub(Vuu32.w,Vvv32.w)
|
||
|
v1:0.w=vsub(v1:0.w,v1:0.w)
|
||
|
# CHECK-NEXT: 1c80c0a0 { v1:0.w = vsub(v1:0.w,v1:0.w) }
|
||
|
|
||
|
// V6_vsubwnq
|
||
|
// if (!Qv4) Vx32.w-=Vu32.w
|
||
|
if (!q0) v0.w-=v0.w
|
||
|
# CHECK-NEXT: 1e02e060 { if (!q0) v0.w -= v0.w }
|
||
|
|
||
|
// V6_vsubwq
|
||
|
// if (Qv4) Vx32.w-=Vu32.w
|
||
|
if (q0) v0.w-=v0.w
|
||
|
# CHECK-NEXT: 1e02e000 { if (q0) v0.w -= v0.w }
|
||
|
|
||
|
// V6_vsubwsat
|
||
|
// Vd32.w=vsub(Vu32.w,Vv32.w):sat
|
||
|
v0.w=vsub(v0.w,v0.w):sat
|
||
|
# CHECK-NEXT: 1c60c060 { v0.w = vsub(v0.w,v0.w):sat }
|
||
|
|
||
|
// V6_vsubwsat_dv
|
||
|
// Vdd32.w=vsub(Vuu32.w,Vvv32.w):sat
|
||
|
v1:0.w=vsub(v1:0.w,v1:0.w):sat
|
||
|
# CHECK-NEXT: 1ca0c020 { v1:0.w = vsub(v1:0.w,v1:0.w):sat }
|
||
|
|
||
|
// V6_vswap
|
||
|
// Vdd32=vswap(Qt4,Vu32,Vv32)
|
||
|
v1:0=vswap(q0,v0,v0)
|
||
|
# CHECK-NEXT: 1ea0e000 { v1:0 = vswap(q0,v0,v0) }
|
||
|
|
||
|
// V6_vtmpyb
|
||
|
// Vdd32.h=vtmpy(Vuu32.b,Rt32.b)
|
||
|
v1:0.h=vtmpy(v1:0.b,r0.b)
|
||
|
# CHECK-NEXT: 1900c000 { v1:0.h = vtmpy(v1:0.b,r0.b) }
|
||
|
|
||
|
// V6_vtmpyb_acc
|
||
|
// Vxx32.h+=vtmpy(Vuu32.b,Rt32.b)
|
||
|
v1:0.h+=vtmpy(v1:0.b,r0.b)
|
||
|
# CHECK-NEXT: 1900e000 { v1:0.h += vtmpy(v1:0.b,r0.b) }
|
||
|
|
||
|
// V6_vtmpybus
|
||
|
// Vdd32.h=vtmpy(Vuu32.ub,Rt32.b)
|
||
|
v1:0.h=vtmpy(v1:0.ub,r0.b)
|
||
|
# CHECK-NEXT: 1900c020 { v1:0.h = vtmpy(v1:0.ub,r0.b) }
|
||
|
|
||
|
// V6_vtmpybus_acc
|
||
|
// Vxx32.h+=vtmpy(Vuu32.ub,Rt32.b)
|
||
|
v1:0.h+=vtmpy(v1:0.ub,r0.b)
|
||
|
# CHECK-NEXT: 1900e020 { v1:0.h += vtmpy(v1:0.ub,r0.b) }
|
||
|
|
||
|
// V6_vtmpyhb
|
||
|
// Vdd32.w=vtmpy(Vuu32.h,Rt32.b)
|
||
|
v1:0.w=vtmpy(v1:0.h,r0.b)
|
||
|
# CHECK-NEXT: 19a0c080 { v1:0.w = vtmpy(v1:0.h,r0.b) }
|
||
|
|
||
|
// V6_vtmpyhb_acc
|
||
|
// Vxx32.w+=vtmpy(Vuu32.h,Rt32.b)
|
||
|
v1:0.w+=vtmpy(v1:0.h,r0.b)
|
||
|
# CHECK-NEXT: 1900e040 { v1:0.w += vtmpy(v1:0.h,r0.b) }
|
||
|
|
||
|
// V6_vunpackb
|
||
|
// Vdd32.h=vunpack(Vu32.b)
|
||
|
v1:0.h=vunpack(v0.b)
|
||
|
# CHECK-NEXT: 1e01c040 { v1:0.h = vunpack(v0.b) }
|
||
|
|
||
|
// V6_vunpackh
|
||
|
// Vdd32.w=vunpack(Vu32.h)
|
||
|
v1:0.w=vunpack(v0.h)
|
||
|
# CHECK-NEXT: 1e01c060 { v1:0.w = vunpack(v0.h) }
|
||
|
|
||
|
// V6_vunpackob
|
||
|
// Vxx32.h|=vunpacko(Vu32.b)
|
||
|
v1:0.h|=vunpacko(v0.b)
|
||
|
# CHECK-NEXT: 1e00e000 { v1:0.h |= vunpacko(v0.b) }
|
||
|
|
||
|
// V6_vunpackoh
|
||
|
// Vxx32.w|=vunpacko(Vu32.h)
|
||
|
v1:0.w|=vunpacko(v0.h)
|
||
|
# CHECK-NEXT: 1e00e020 { v1:0.w |= vunpacko(v0.h) }
|
||
|
|
||
|
// V6_vunpackub
|
||
|
// Vdd32.uh=vunpack(Vu32.ub)
|
||
|
v1:0.uh=vunpack(v0.ub)
|
||
|
# CHECK-NEXT: 1e01c000 { v1:0.uh = vunpack(v0.ub) }
|
||
|
|
||
|
// V6_vunpackuh
|
||
|
// Vdd32.uw=vunpack(Vu32.uh)
|
||
|
v1:0.uw=vunpack(v0.uh)
|
||
|
# CHECK-NEXT: 1e01c020 { v1:0.uw = vunpack(v0.uh) }
|
||
|
|
||
|
// V6_vwhist128
|
||
|
// vwhist128
|
||
|
vwhist128
|
||
|
# CHECK-NEXT: 1e00e480 { vwhist128 }
|
||
|
|
||
|
// V6_vwhist128m
|
||
|
// vwhist128(#u1)
|
||
|
vwhist128(#0)
|
||
|
# CHECK-NEXT: 1e00e680 { vwhist128(#0) }
|
||
|
|
||
|
// V6_vwhist128q
|
||
|
// vwhist128(Qv4)
|
||
|
vwhist128(q0)
|
||
|
# CHECK-NEXT: 1e02e480 { vwhist128(q0) }
|
||
|
|
||
|
// V6_vwhist128qm
|
||
|
// vwhist128(Qv4,#u1)
|
||
|
vwhist128(q0,#0)
|
||
|
# CHECK-NEXT: 1e02e680 { vwhist128(q0,#0) }
|
||
|
|
||
|
// V6_vwhist256
|
||
|
// vwhist256
|
||
|
vwhist256
|
||
|
# CHECK-NEXT: 1e00e280 { vwhist256 }
|
||
|
|
||
|
// V6_vwhist256_sat
|
||
|
// vwhist256:sat
|
||
|
vwhist256:sat
|
||
|
# CHECK-NEXT: 1e00e380 { vwhist256:sat }
|
||
|
|
||
|
// V6_vwhist256q
|
||
|
// vwhist256(Qv4)
|
||
|
vwhist256(q0)
|
||
|
# CHECK-NEXT: 1e02e280 { vwhist256(q0) }
|
||
|
|
||
|
// V6_vwhist256q_sat
|
||
|
// vwhist256(Qv4):sat
|
||
|
vwhist256(q0):sat
|
||
|
# CHECK-NEXT: 1e02e380 { vwhist256(q0):sat }
|
||
|
|
||
|
// V6_vxor
|
||
|
// Vd32=vxor(Vu32,Vv32)
|
||
|
v0=vxor(v0,v0)
|
||
|
# CHECK-NEXT: 1c20c0e0 { v0 = vxor(v0,v0) }
|
||
|
|
||
|
// V6_vzb
|
||
|
// Vdd32.uh=vzxt(Vu32.ub)
|
||
|
v1:0.uh=vzxt(v0.ub)
|
||
|
# CHECK-NEXT: 1e02c020 { v1:0.uh = vzxt(v0.ub) }
|
||
|
|
||
|
// V6_vzh
|
||
|
// Vdd32.uw=vzxt(Vu32.uh)
|
||
|
v1:0.uw=vzxt(v0.uh)
|
||
|
# CHECK-NEXT: 1e02c040 { v1:0.uw = vzxt(v0.uh) }
|
||
|
|
||
|
// V6_zLd_ai
|
||
|
// z=vmem(Rt32+#s4)
|
||
|
z=vmem(r0+#0)
|
||
|
# CHECK-NEXT: 2c00c000 { z = vmem(r0+#0) }
|
||
|
|
||
|
// V6_zLd_pi
|
||
|
// z=vmem(Rx32++#s3)
|
||
|
z=vmem(r0++#0)
|
||
|
# CHECK-NEXT: 2d00c000 { z = vmem(r0++#0) }
|
||
|
|
||
|
// V6_zLd_ppu
|
||
|
// z=vmem(Rx32++Mu2)
|
||
|
z=vmem(r0++m0)
|
||
|
# CHECK-NEXT: 2d00c001 { z = vmem(r0++m0) }
|
||
|
|
||
|
// V6_zLd_pred_ai
|
||
|
// if (Pv4) z=vmem(Rt32+#s4)
|
||
|
if (p0) z=vmem(r0+#0)
|
||
|
# CHECK-NEXT: 2c80c000 { if (p0) z = vmem(r0+#0) }
|
||
|
|
||
|
// V6_zLd_pred_pi
|
||
|
// if (Pv4) z=vmem(Rx32++#s3)
|
||
|
if (p0) z=vmem(r0++#0)
|
||
|
# CHECK-NEXT: 2d80c000 { if (p0) z = vmem(r0++#0) }
|
||
|
|
||
|
// V6_zLd_pred_ppu
|
||
|
// if (Pv4) z=vmem(Rx32++Mu2)
|
||
|
if (p0) z=vmem(r0++m0)
|
||
|
# CHECK-NEXT: 2d80c001 { if (p0) z = vmem(r0++m0) }
|
||
|
|
||
|
// V6_zextract
|
||
|
// Vd32=zextract(Rt32)
|
||
|
v0=zextract(r0)
|
||
|
# CHECK-NEXT: 19a0c120 { v0 = zextract(r0) }
|