instrs: Add AVX512-FP16 instructions

This commit is contained in:
Alexis Engelke
2022-12-26 17:12:33 +01:00
parent 8550e2cac9
commit 955f139025
4 changed files with 145 additions and 5 deletions

View File

@@ -2335,3 +2335,120 @@ VEX.66.W0.L0.0f3a32/r RMI Kb Kb Ib - KSHIFTLB F=AVX512DQ
VEX.66.W1.L0.0f3a32/r RMI Kw Kw Ib - KSHIFTLW F=AVX512F
VEX.66.W0.L0.0f3a33/r RMI Kd Kd Ib - KSHIFTLD F=AVX512BW
VEX.66.W1.L0.0f3a33/r RMI Kq Kq Ib - KSHIFTLQ F=AVX512BW
# AVX512-FP16
EVEX.NP.W0.0f3a08 RMI Vx Wx Ib - EVX_RNDSCALEPH+kbe F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.NP.W0.LIG.0f3a0a RVMI Vdq Hdq Ww Ib EVX_RNDSCALESH+ke F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.NP.W0.0f3a26 RMI Vx Wx Ib - EVX_GETMANTPH+kbe F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.NP.W0.LIG.0f3a27 RVMI Vdq Hdq Ww Ib EVX_GETMANTSH+ke F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.NP.W0.0f3a56 RMI Vx Wx Ib - EVX_REDUCEPH+kbe F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.NP.W0.LIG.0f3a57 RVMI Vdq Hdq Ww Ib EVX_REDUCESH+ke F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.NP.W0.0f3a66 RMI K Wx Ib - EVX_FPCLASSPH+kb F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.NP.W0.LIG.0f3a67 RMI Kb Ww Ib - EVX_FPCLASSSH+k F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.NP.W0.0f3ac2 RVMI K Hx Wx Ib EVX_CMPPH+kbe F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.F3.W0.LIG.0f3ac2 RVMI Kb Hw Ww Ib EVX_CMPSH+ke F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.F3.W0.LIG.M5.10/m RM Vdq Mw - - EVX_MOVSH+k F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.F3.W0.LIG.M5.10/r RVM Vdq Hdq Uw - EVX_MOVSH+k F=AVX512-FP16
EVEX.F3.W0.LIG.M5.11/m MR Mw Vw - - EVX_MOVSH+k F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.F3.W0.LIG.M5.11/r MVR Udq Hdq Vw - EVX_MOVSH+k F=AVX512-FP16
EVEX.NP.W0.LIG.M5.1d RVM Vdq Hdq Wd - EVX_CVTSS2SH+kr F=AVX512-FP16 TUPLE1_SCALAR_32
EVEX.66.W0.M5.1d RM Vh Wx - - EVX_CVTPS2PHX+kbr F=AVX512-FP16 TUPLE_FULL_32
EVEX.F3.LIG.M5.2a RVM Vdq Hdq Ey - EVX_CVTSI2SH+r F=AVX512-FP16 TUPLE1_SCALAR_OPSZ
EVEX.F3.LIG.M5.2c RM Gy Ww - - EVX_CVTTSH2SI+e F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.F3.LIG.M5.2d RM Gy Ww - - EVX_CVTSH2SI+r F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.NP.W0.LIG.M5.2e RM Vw Ww - - EVX_UCOMISH+e F=AVX512-FP16 TUPLE1_SCALAR_16 EFL=0--0m0mm
EVEX.NP.W0.LIG.M5.2f RM Vw Ww - - EVX_COMISH+e F=AVX512-FP16 TUPLE1_SCALAR_16 EFL=0--0m0mm
EVEX.NP.W0.M5.51 RM Vx Wx - - EVX_SQRTPH+kbr F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.F3.W0.LIG.M5.51 RVM Vdq Hdq Ww - EVX_SQRTSH+kr F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.NP.W0.M5.58 RVM Vx Hx Wx - EVX_ADDPH+kbr F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.F3.W0.LIG.M5.58 RVM Vdq Hdq Ww - EVX_ADDSH+kr F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.NP.W0.M5.59 RVM Vx Hx Wx - EVX_MULPH+kbr F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.F3.W0.LIG.M5.59 RVM Vdq Hdq Ww - EVX_MULSH+kr F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.NP.W0.M5.5a RM Vx Wf - - EVX_CVTPH2PD+kbe F=AVX512-FP16 TUPLE_QUARTER_16 BCST16
EVEX.66.W1.M5.5a RM Vf Wx - - EVX_CVTPD2PH+kbr F=AVX512-FP16 TUPLE_FULL_64
EVEX.F3.W0.LIG.M5.5a RVM Vdq Hdq Ww - EVX_CVTSH2SD+ke F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.F2.W1.LIG.M5.5a RVM Vdq Hdq Wq - EVX_CVTSD2SH+kr F=AVX512-FP16 TUPLE1_SCALAR_64
EVEX.NP.W0.M5.5b RM Vh Wx - - EVX_CVTDQ2PH+kbr F=AVX512-FP16 TUPLE_FULL_32
EVEX.NP.W1.M5.5b RM Vf Wx - - EVX_CVTQQ2PH+kbr F=AVX512-FP16 TUPLE_FULL_64
EVEX.66.W0.M5.5b RM Vx Wh - - EVX_CVTPH2DQ+kbr F=AVX512-FP16 TUPLE_HALF_16 BCST16
EVEX.F3.W0.M5.5b RM Vx Wh - - EVX_CVTTPH2DQ+kbe F=AVX512-FP16 TUPLE_HALF_16 BCST16
EVEX.NP.W0.M5.5c RVM Vx Hx Wx - EVX_SUBPH+kbr F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.F3.W0.LIG.M5.5c RVM Vdq Hdq Ww - EVX_SUBSH+kr F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.NP.W0.M5.5d RVM Vx Hx Wx - EVX_MINPH+kbe F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.F3.W0.LIG.M5.5d RVM Vdq Hdq Ww - EVX_MINSH+ke F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.NP.W0.M5.5e RVM Vx Hx Wx - EVX_DIVPH+kbr F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.F3.W0.LIG.M5.5e RVM Vdq Hdq Ww - EVX_DIVSH+kr F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.NP.W0.M5.5f RVM Vx Hx Wx - EVX_MAXPH+kbe F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.F3.W0.LIG.M5.5f RVM Vdq Hdq Ww - EVX_MAXSH+ke F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.66.L0.M5.6e RM Vdq Ew - - EVX_MOVW_G2X F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.NP.W0.M5.78 RM Vx Wh - - EVX_CVTTPH2UDQ+kbe F=AVX512-FP16 TUPLE_HALF_16 BCST16
EVEX.66.W0.M5.78 RM Vx Wf - - EVX_CVTTPH2UQQ+kbe F=AVX512-FP16 TUPLE_QUARTER_16 BCST16
EVEX.F3.LIG.M5.78 RM Gy Ww - - EVX_CVTTSH2USI+e F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.NP.W0.M5.79 RM Vx Wh - - EVX_CVTPH2UDQ+kbr F=AVX512-FP16 TUPLE_HALF_16 BCST16
EVEX.66.W0.M5.79 RM Vx Wf - - EVX_CVTPH2UQQ+kbr F=AVX512-FP16 TUPLE_QUARTER_16 BCST16
EVEX.F3.LIG.M5.79 RM Gy Ww - - EVX_CVTSH2USI+r F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.66.W0.M5.7a RM Vx Wf - - EVX_CVTTPH2QQ+kbe F=AVX512-FP16 TUPLE_QUARTER_16 BCST16
EVEX.F2.W0.M5.7a RM Vh Wx - - EVX_CVTUDQ2PH+kbr F=AVX512-FP16 TUPLE_FULL_32
EVEX.F2.W1.M5.7a RM Vf Wx - - EVX_CVTUQQ2PH+kbr F=AVX512-FP16 TUPLE_FULL_64
EVEX.66.W0.M5.7b RM Vx Wf - - EVX_CVTPH2QQ+kbr F=AVX512-FP16 TUPLE_QUARTER_16 BCST16
EVEX.F3.LIG.M5.7b RVM Vdq Hdq Ey - EVX_CVTUSI2SH+r F=AVX512-FP16 TUPLE1_SCALAR_OPSZ
EVEX.NP.W0.M5.7c RM Vx Wx - - EVX_CVTTPH2UW+kbe F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.66.W0.M5.7c RM Vx Wx - - EVX_CVTTPH2W+kbe F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.NP.W0.M5.7d RM Vx Wx - - EVX_CVTPH2UW+kbr F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.66.W0.M5.7d RM Vx Wx - - EVX_CVTPH2W+kbr F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.F3.W0.M5.7d RM Vx Wx - - EVX_CVTW2PH+kbr F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.F2.W0.M5.7d RM Vx Wx - - EVX_CVTUW2PH+kbr F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.66.L0.M5.7e MR Ew Vw - - EVX_MOVW_X2G F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.66.W0.M6.13 RM Vx Wh - - EVX_CVTPH2PSX+kbe F=AVX512-FP16 TUPLE_HALF_16 BCST16
EVEX.NP.W0.LIG.M6.13 RVM Vdq Hdq Ww - EVX_CVTSH2SS+ke F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.66.W0.M6.2c RVM Vx Hx Wx - EVX_SCALEFPH+kbr F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.66.W0.LIG.M6.2d RVM Vdq Hdq Ww - EVX_SCALEFSH+kr F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.66.W0.M6.42 RM Vx Wx - - EVX_GETEXPPH+kbe F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.66.W0.LIG.M6.43 RVM Vdq Hdq Ww - EVX_GETEXPSH+ke F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.66.W0.M6.4c RM Vx Wx - - EVX_RCPPH+kb F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.66.W0.LIG.M6.4d RVM Vdq Hdq Ww - EVX_RCPSH+k F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.66.W0.M6.4e RM Vx Wx - - EVX_RSQRTPH+kb F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.66.W0.LIG.M6.4f RVM Vdq Hdq Ww - EVX_RSQRTSH+k F=AVX512-FP16 TUPLE1_SCALAR_16
# TODO: for F{,C}M{ADD,UL}C{P,S}H, destreg must be unequal to the source registers
EVEX.F3.W0.M6.56 RVM Vx Hx Wx - EVX_FMADDCPH+kbr F=AVX512-FP16 TUPLE_FULL_32
EVEX.F2.W0.M6.56 RVM Vx Hx Wx - EVX_FCMADDCPH+kbr F=AVX512-FP16 TUPLE_FULL_32
EVEX.F3.W0.LIG.M6.57 RVM Vdq Hdq Wd - EVX_FMADDCSH+kr F=AVX512-FP16 TUPLE1_SCALAR_32
EVEX.F2.W0.LIG.M6.57 RVM Vdq Hdq Wd - EVX_FCMADDCSH+kr F=AVX512-FP16 TUPLE1_SCALAR_32
EVEX.F3.W0.M6.d6 RVM Vx Hx Wx - EVX_FMULCPH+kbr F=AVX512-FP16 TUPLE_FULL_32
EVEX.F2.W0.M6.d6 RVM Vx Hx Wx - EVX_FCMULCPH+kbr F=AVX512-FP16 TUPLE_FULL_32
EVEX.F3.W0.LIG.M6.d7 RVM Vdq Hdq Wd - EVX_FMULCSH+kr F=AVX512-FP16 TUPLE1_SCALAR_32
EVEX.F2.W0.LIG.M6.d7 RVM Vdq Hdq Wd - EVX_FCMULCSH+kr F=AVX512-FP16 TUPLE1_SCALAR_32
EVEX.66.W0.M6.96 RVM Vx Hx Wx - EVX_FMADDSUB132PH+kbr F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.66.W0.M6.a6 RVM Vx Hx Wx - EVX_FMADDSUB213PH+kbr F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.66.W0.M6.b6 RVM Vx Hx Wx - EVX_FMADDSUB231PH+kbr F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.66.W0.M6.97 RVM Vx Hx Wx - EVX_FMSUBADD132PH+kbr F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.66.W0.M6.a7 RVM Vx Hx Wx - EVX_FMSUBADD213PH+kbr F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.66.W0.M6.b7 RVM Vx Hx Wx - EVX_FMSUBADD231PH+kbr F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.66.W0.M6.98 RVM Vx Hx Wx - EVX_FMADD132PH+kbr F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.66.W0.M6.a8 RVM Vx Hx Wx - EVX_FMADD213PH+kbr F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.66.W0.M6.b8 RVM Vx Hx Wx - EVX_FMADD231PH+kbr F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.66.W0.LIG.M6.99 RVM Vdq Hdq Ww - EVX_FMADD132SH+kr F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.66.W0.LIG.M6.a9 RVM Vdq Hdq Ww - EVX_FMADD213SH+kr F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.66.W0.LIG.M6.b9 RVM Vdq Hdq Ww - EVX_FMADD231SH+kr F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.66.W0.M6.9a RVM Vx Hx Wx - EVX_FMSUB132PH+kbr F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.66.W0.M6.aa RVM Vx Hx Wx - EVX_FMSUB213PH+kbr F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.66.W0.M6.ba RVM Vx Hx Wx - EVX_FMSUB231PH+kbr F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.66.W0.LIG.M6.9b RVM Vdq Hdq Ww - EVX_FMSUB132SH+kr F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.66.W0.LIG.M6.ab RVM Vdq Hdq Ww - EVX_FMSUB213SH+kr F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.66.W0.LIG.M6.bb RVM Vdq Hdq Ww - EVX_FMSUB231SH+kr F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.66.W0.M6.9c RVM Vx Hx Wx - EVX_FNMADD132PH+kbr F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.66.W0.M6.ac RVM Vx Hx Wx - EVX_FNMADD213PH+kbr F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.66.W0.M6.bc RVM Vx Hx Wx - EVX_FNMADD231PH+kbr F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.66.W0.LIG.M6.9d RVM Vdq Hdq Ww - EVX_FNMADD132SH+kr F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.66.W0.LIG.M6.ad RVM Vdq Hdq Ww - EVX_FNMADD213SH+kr F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.66.W0.LIG.M6.bd RVM Vdq Hdq Ww - EVX_FNMADD231SH+kr F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.66.W0.M6.9e RVM Vx Hx Wx - EVX_FNMSUB132PH+kbr F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.66.W0.M6.ae RVM Vx Hx Wx - EVX_FNMSUB213PH+kbr F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.66.W0.M6.be RVM Vx Hx Wx - EVX_FNMSUB231PH+kbr F=AVX512-FP16 TUPLE_FULL_16 BCST16
EVEX.66.W0.LIG.M6.9f RVM Vdq Hdq Ww - EVX_FNMSUB132SH+kr F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.66.W0.LIG.M6.af RVM Vdq Hdq Ww - EVX_FNMSUB213SH+kr F=AVX512-FP16 TUPLE1_SCALAR_16
EVEX.66.W0.LIG.M6.bf RVM Vdq Hdq Ww - EVX_FNMSUB231SH+kr F=AVX512-FP16 TUPLE1_SCALAR_16