EuroAssembler Index Manual Download Source Macros


Sitemap Links Forum Tests Projects

iih.htm
Enumerations
IihList
Instruction handlers
VADDBF16
VADDPH
VADDSH
VBCSTNEBF162PS
VBCSTNESH2PS
VCMPBF16
VCMPPH
VCMPSH
VCOMISBF16
VCOMISH
VCOMXSD
VCOMXSH
VCOMXSS
VCVT2PH2BF8
VCVT2PH2BF8S
VCVT2PH2HF8
VCVT2PH2HF8S
VCVT2PS2PHX
VCVTBF162IBS
VCVTBF162IBS
VCVTBF162IUBS
VCVTBF162IUBS
VCVTBIASPH2BF8
VCVTBIASPH2BF8S
VCVTBIASPH2HF8
VCVTBIASPH2HF8S
VCVTDQ2PH
VCVTHF82PH
VCVTNE2PS2BF16
VCVTNEEBF162PS
VCVTNEEPH2PS
VCVTNEOBF162PS
VCVTNEOPH2PS
VCVTNEPS2BF16
VCVTPD2PH
VCVTPH2BF8
VCVTPH2BF8S
VCVTPH2DQ
VCVTPH2HF8
VCVTPH2HF8S
VCVTPH2IBS
VCVTPH2IUBS
VCVTPH2PD
VCVTPH2PSX
VCVTPH2QQ
VCVTPH2UDQ
VCVTPH2UQQ
VCVTPH2UW
VCVTPH2W
VCVTPH2IBS
VCVTPH2IUBS
VCVTPS2PHX
VCVTQQ2PH
VCVTSD2SH
VCVTSH2SD
VCVTSH2SI
VCVTSH2SS
VCVTSH2USI
VCVTSI2SH
VCVTSS2SH
VCVTSS2USI
VCVTBF162IBS
VCVTBF162IBS
VCVTBF162IUBS
VCVTBF162IUBS
VCVTTPD2DQS
VCVTTPD2QQS
VCVTTPD2UDQS
VCVTTPD2UQQS
VCVTTPH2DQ
VCVTTPH2IBS
VCVTTPH2IUBS
VCVTTPH2QQ
VCVTTPH2UDQ
VCVTTPH2UQQ
VCVTTPH2UW
VCVTTPH2W
VCVTTPS2DQS
VCVTTPH2IBS
VCVTTPH2IUBS
VCVTTPS2QQS
VCVTTPS2UDQS
VCVTTPS2UQQS
VCVTTSD2SIS
VCVTTSD2USIS
VCVTTSH2SI
VCVTTSH2USI
VCVTTSS2SIS
VCVTTSS2USIS
VCVTUDQ2PH
VCVTUQQ2PH
VCVTUSI2SH
VCVTUW2PH
VCVTW2PH
VDIVBF16
VDIVPH
VDIVSH
VDPBF16PS
VDPPHPS
VFCMADDCPH
VFCMADDCSH
VFCMULCPH
VFCMULCSH
VFMADD132BF16
VFMADD132PH
VFMADD132SH
VFMADD213BF16
VFMADD213PH
VFMADD213SH
VFMADD231BF16
VFMADD231PH
VFMADD231SH
VFMADDCPH
VFMADDCSH
VFMADDSUB132PS
VFMADDSUB213PS
VFMADDSUB231PS
VFMSUB132BF16
VFMSUB132PH
VFMSUB132SH
VFMSUB213BF16
VFMSUB213PH
VFMSUB213SH
VFMSUB231BF16
VFMSUB231PH
VFMSUB231SH
VFMSUBADD132PS
VFMSUBADD213PS
VFMSUBADD231PS
VFMULCPH
VFMULCSH
VFNMADD132BF16
VFNMADD132PH
VFNMADD132SH
VFNMADD213BF16
VFNMADD213PH
VFNMADD213SH
VFNMADD231BF16
VFNMADD231PH
VFNMADD231SH
VFNMSUB132BF16
VFNMSUB132PH
VFNMSUB132SH
VFNMSUB213BF16
VFNMSUB213PH
VFNMSUB213SH
VFNMSUB231BF16
VFNMSUB231PH
VFNMSUB231SH
VFPCLASSBF16
VFPCLASSPH
VFPCLASSSH
VGETEXPBF16
VGETEXPPH
VGETEXPSH
VGETMANTBF16
VGETMANTPH
VGETMANTSH
VMAXBF16
VMAXPH
VMAXSH
VMINBF16
VMINMAXBF16
VMINMAXPD
VMINMAXPH
VMINMAXPS
VMINMAXSD
VMINMAXSH
VMINMAXSS
VMINPH
VMINSH
VMOVSH
VMULBF16
VMULPH
VMULSH
VP2INTERSECTD
VP2INTERSECTQ
VPCOMPRESSB
VPCOMPRESSW
VPDPBSSD
VPDPBSSDS
VPDPBSUD
VPDPBSUDS
VPDPBUUD
VPDPBUUDS
VPDPWSUD
VPDPWSUDS
VPDPWUSD
VPDPWUSDS
VPDPWUUD
VPDPWUUDS
VPEXPANDB
VPEXPANDW
VPSHLDVD
VPSHLDVQ
VPSHLDVW
VPSHRDVD
VPSHRDVQ
VPSHRDVW
VPSHUFBITQMB
VRCPBF16
VRCPPH
VRCPSH
VREDUCE16
VREDUCEPH
VREDUCESH
VRNDSCALEBF16
VRNDSCALEPH
VRNDSCALESH
VRSQRTBF16
VRSQRTPH
VRSQRTSH
VSCALEFBF16
VSCALEFPH
VSCALEFSH
VSHA512MSG1
VSHA512MSG2
VSHA512RNDS2
VSM3MSG1
VSM3MSG2
VSM3RNDS2
VSM4KEY4
VSM4RNDS4
VSQRTBF16
VSQRTPH
VSQRTSH
VSUBBF16
VSUBPH
VSUBSH
VUCOMISH
VUCOMXSD
VUCOMXSH
VUCOMXSS

↑ IihHandlers
assemble AVX10.2 machine instructions which compute using mostly floating-point numbers with half and byte precision (FP16, E4M3, E5M2).
See also
IiHandlers
iih PROGRAM FORMAT=COFF,MODEL=FLAT,WIDTH=32
    INCLUDEHEAD euroasm.htm, \  Interface (structures, symbols and macros) of other modules used in this source.
                ea.htm,eaopt.htm,exp.htm,ii.htm,msg.htm,pgm.htm,pgmopt.htm,sss.htm,stm.htm,sym.htm

iih HEAD ; Start of module interface.
↑ %IihList
enumerates machine instructions of this family which €ASM can assemble.
Each instruction declared in %IihList requires the corresponding handler in this file.
See also
DictLookupIi
%IihList %SET   \
VADDBF16,       \
VADDPH,         \
VADDSH,         \
VBCSTNEBF162PS, \
VBCSTNESH2PS,   \
VCMPBF16,       \
VCMPPH,         \
VCMPSH,         \
VCOMISBF16,     \
VCOMISH,        \
VCOMXSD,        \
VCOMXSH,        \
VCOMXSS,        \
VCVT2PH2BF8,    \
VCVT2PH2BF8S,   \
VCVT2PH2HF8,    \
VCVT2PH2HF8S,   \
VCVT2PS2PHX,    \
VCVTBF162IBS,   \
VCVTBF162IUBS,  \
VCVTBIASPH2BF8, \
VCVTBIASPH2BF8S,\
VCVTBIASPH2HF8, \
VCVTBIASPH2HF8S,\
VCVTDQ2PH,      \
VCVTHF82PH,     \
VCVTNE2PS2BF16, \
VCVTNEEBF162PS, \
VCVTNEEPH2PS,   \
VCVTNEOBF162PS, \
VCVTNEOPH2PS,   \
VCVTNEPS2BF16,  \
VCVTPD2PH,      \
VCVTPH2BF8,     \
VCVTPH2BF8S,    \
VCVTPH2DQ,      \
VCVTPH2HF8,     \
VCVTPH2HF8S,    \
VCVTPH2IBS,     \
VCVTPH2IUBS,    \
VCVTPH2PD,      \
VCVTPH2PSX,     \
VCVTPH2QQ,      \
VCVTPH2UDQ,     \
VCVTPH2UQQ,     \
VCVTPH2UW,      \
VCVTPH2W,       \
VCVTPS2IBS,     \
VCVTPS2IUBS,    \
VCVTPS2PHX,     \
VCVTQQ2PH,      \
VCVTSD2SH,      \
VCVTSH2SD,      \
VCVTSH2SI,      \
VCVTSH2SS,      \
VCVTSH2USI,     \
VCVTSI2SH,      \
VCVTSS2SH,      \
VCVTSS2USI,     \
VCVTTBF162IBS,  \
VCVTTBF162IUBS, \
VCVTTPD2DQS,    \
VCVTTPD2QQS,    \
VCVTTPD2UDQS,   \
VCVTTPD2UQQS,   \
VCVTTPH2DQ,     \
VCVTTPH2IBS,    \
VCVTTPH2IUBS,   \
VCVTTPH2QQ,     \
VCVTTPH2UDQ,    \
VCVTTPH2UQQ,    \
VCVTTPH2UW,     \
VCVTTPH2W,      \
VCVTTPS2DQS,    \
VCVTTPS2IBS,    \
VCVTTPS2IUBS,   \
VCVTTPS2QQS,    \
VCVTTPS2UDQS,   \
VCVTTPS2UQQS,   \
VCVTTSD2SIS,    \
VCVTTSD2USIS,   \
VCVTTSH2SI,     \
VCVTTSH2USI,    \
VCVTTSS2SIS,    \
VCVTTSS2USIS,   \
VCVTUDQ2PH,     \
VCVTUQQ2PH,     \
VCVTUSI2SH,     \
VCVTUW2PH,      \
VCVTW2PH,       \
VDIVBF16,       \
VDIVPH,         \
VDIVSH,         \
VDPBF16PS,      \
VDPPHPS,        \
VFCMADDCPH,     \
VFCMADDCSH,     \
VFCMULCPH,      \
VFCMULCSH,      \
VFMADD132BF16,  \
VFMADD132PH,    \
VFMADD132SH,    \
VFMADD213BF16,  \
VFMADD213PH,    \
VFMADD213SH,    \
VFMADD231BF16,  \
VFMADD231PH,    \
VFMADD231SH,    \
VFMADDCPH,      \
VFMADDCSH,      \
VFMADDSUB132PS, \
VFMADDSUB213PS, \
VFMADDSUB231PS, \
VFMSUB132BF16,  \
VFMSUB132PH,    \
VFMSUB132SH,    \
VFMSUB213BF16,  \
VFMSUB213PH,    \
VFMSUB213SH,    \
VFMSUB231BF16,  \
VFMSUB231PH,    \
VFMSUB231SH,    \
VFMSUBADD132PS, \
VFMSUBADD213PS, \
VFMSUBADD231PS, \
VFMULCPH,       \
VFMULCSH,       \
VFNMADD132BF16, \
VFNMADD132PH,   \
VFNMADD132SH,   \
VFNMADD213BF16, \
VFNMADD213PH,   \
VFNMADD213SH,   \
VFNMADD231BF16, \
VFNMADD231PH,   \
VFNMADD231SH,   \
VFNMSUB132BF16, \
VFNMSUB132PH,   \
VFNMSUB132SH,   \
VFNMSUB213BF16, \
VFNMSUB213PH,   \
VFNMSUB213SH,   \
VFNMSUB231BF16, \
VFNMSUB231PH,   \
VFNMSUB231SH,   \
VFPCLASSBF16,   \
VFPCLASSPH,     \
VFPCLASSSH,     \
VGETEXPBF16,    \
VGETEXPPH,      \
VGETEXPSH,      \
VGETMANTBF16,   \
VGETMANTPH,     \
VGETMANTSH,     \
VMAXBF16,       \
VMAXPH,         \
VMAXSH,         \
VMINBF16,       \
VMINMAXBF16,    \
VMINMAXPD,      \
VMINMAXPH,      \
VMINMAXPS,      \
VMINMAXSD,      \
VMINMAXSH,      \
VMINMAXSS,      \
VMINPH,         \
VMINSH,         \
VMOVSH,         \
VMULBF16,       \
VMULPH,         \
VMULSH,         \
VP2INTERSECTD,  \
VP2INTERSECTQ,  \
VPCOMPRESSB,    \
VPCOMPRESSW,    \
VPDPBSSD,       \
VPDPBSSDS,      \
VPDPBSUD,       \
VPDPBSUDS,      \
VPDPBUUD,       \
VPDPBUUDS,      \
VPDPWSUD,       \
VPDPWSUDS,      \
VPDPWUSD,       \
VPDPWUSDS,      \
VPDPWUUD,       \
VPDPWUUDS,      \
VPEXPANDB,      \
VPEXPANDW,      \
VPSHLDVD,       \
VPSHLDVQ,       \
VPSHLDVW,       \
VPSHRDVD,       \
VPSHRDVQ,       \
VPSHRDVW,       \
VPSHUFBITQMB,   \
VRCPBF16,       \
VRCPPH,         \
VRCPSH,         \
VREDUCEBF16,    \
VREDUCEPH,      \
VREDUCESH,      \
VRNDSCALEBF16,  \
VRNDSCALEPH,    \
VRNDSCALESH,    \
VRSQRTBF16,     \
VRSQRTPH,       \
VRSQRTSH,       \
VSCALEFBF16,    \
VSCALEFPH,      \
VSCALEFSH,      \
VSHA512MSG1,    \
VSHA512MSG2,    \
VSHA512RNDS2,   \
VSM3MSG1,       \
VSM3MSG2,       \
VSM3RNDS2,      \
VSM4KEY4,       \
VSM4RNDS4,      \
VSQRTBF16,      \
VSQRTPH,        \
VSQRTSH,        \
VSUBBF16,       \
VSUBPH,         \
VSUBSH,         \
VUCOMISH,       \
VUCOMXSD,       \
VUCOMXSH,       \
VUCOMXSS,       \

;
 ENDHEAD iih ; End of module interface.
↑ VADDBF16
Add packed BF16 values.
Reference
EVEX.512.66.MAP5.W0 58 /r
VADDBF16 zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t5211
IihVADDBF16:: PROC
  IiRequire AVX10
  IiAllowBroadcasting WORD
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiEmitOpcode 0x58
  IiDisp8EVEX FULL2
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.mem:
.xmm.xmm.xmm:
  IiEmitPrefix EVEX.128.66.MAP5.W0
  RET
.ymm.ymm.mem:
.ymm.ymm.ymm:
  IiEmitPrefix EVEX.256.66.MAP5.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP5.W0
  RET
 ENDP IihVADDBF16::
↑ VCMPBF16
Compare packed BF16 values.
Reference
EVEX.512.F2.0F3A.W0 C2 /r /ib
VCMPBF16 k1{k2}, zmm2, zmm3/m512/m16bcst, imm8
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) IMM8(r
Documentation
[IntelAVX10.2]
Tested by
t5261
IihVCMPBF16:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,IMM
  IiAllowBroadcasting WORD
  IiEmitOpcode 0xC2
  IiDisp8EVEX FULL2
  IiEmitImm Operand4, BYTE, Max=31
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat krg.xmm.xmm.imm, krg.xmm.mem.imm, krg.ymm.ymm.imm, krg.ymm.mem.imm, \
                   krg.zmm.zmm.imm, krg.zmm.mem.imm
.krg.xmm.mem.imm:
.krg.xmm.xmm.imm:
  IiEmitPrefix EVEX.128.F2.0F3A.W0
  RET
.krg.ymm.mem.imm:
.krg.ymm.ymm.imm:
  IiEmitPrefix EVEX.256.F2.0F3A.W0
  RET
.krg.zmm.zmm.imm:
.krg.zmm.mem.imm:
  IiEmitPrefix EVEX.512.F2.0F3A.W0
  RET
 ENDP IihVCMPBF16::
↑ VCOMISBF16
Compare BF16 values to ZF,PF,CF.
Reference
EVEX.LLIG.66.MAP5.W0 2F /r
VCOMISBF16 xmm1, xmm2/m16
SCALAR MODRM.REG(r) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5261
IihVCOMISBF16:: PROC
  IiRequire AVX10
  IiAllowModifier DATA
  IiEncoding DATA=WORD
  IiEmitOpcode 0x2F
  IiDisp8EVEX SCALAR2
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.LLIG.66.MAP5.W0
  RET
 ENDP IihVCOMISBF16::
↑ VCOMXSD
Compare FP64 values to OF,SF,ZF,PF,CF.
Reference
EVEX.LLIG.F2.0F.W1 2F /r
VCOMXSD xmm1, xmm2/m64{sae}
SCALAR MODRM.REG(r) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5261
IihVCOMXSD:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,SAE
  IiEncoding DATA=QWORD
  IiAllowSuppressing Register=xmm
  IiEmitOpcode 0x2F
  IiDisp8EVEX SCALAR8
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.LLIG.F2.0F.W1
  RET
 ENDP IihVCOMXSD::
↑ VCOMXSH
Compare FP16 values to OF,SF,ZF,PF,CF.
Reference
EVEX.LLIG.F3.MAP5.W0 2F /r
VCOMXSH xmm1, xmm2/m16{sae}
SCALAR MODRM.REG(r) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5261
IihVCOMXSH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,SAE
  IiEncoding DATA=WORD
  IiAllowSuppressing Register=xmm
  IiEmitOpcode 0x2F
  IiDisp8EVEX SCALAR2
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.LLIG.F3.MAP5.W0
  RET
 ENDP IihVCOMXSH::
↑ VCOMXSS
Compare FP32 values to OF,SF,ZF,PF,CF.
Reference
EVEX.LLIG.F3.0F.W0 2F /r
VCOMXSS xmm1, xmm2/m32{sae}
SCALAR MODRM.REG(r) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5261
IihVCOMXSS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,SAE
  IiEncoding DATA=DWORD
  IiAllowSuppressing Register=xmm
  IiEmitOpcode 0x2F
  IiDisp8EVEX SCALAR4
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.LLIG.F3.0F.W0
  RET
 ENDP IihVCOMXSS::
↑ VCVT2PH2BF8
Convert 16|32|64 packed FP16 to 16|32|64 packed BF8 E5M2.
Reference
EVEX.128.F2.0F38.W0 74 /r
VCVT2PH2BF8 zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t5232
IihVCVT2PH2BF8:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0x74
  IiDisp8EVEX FULL2
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.F2.0F38.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.F2.0F38.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.F2.0F38.W0
  RET
 ENDP IihVCVT2PH2BF8::
↑ VCVT2PH2BF8S
Convert 16|32|64 packed FP16 to 16|32|64 packed saturated BF8 E5M2.
Reference
EVEX.128.F2.MAP5.W0 74 /r
VCVT2PH2BF8S zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t5232
IihVCVT2PH2BF8S:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0x74
  IiDisp8EVEX FULL2
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.F2.MAP5.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.F2.MAP5.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.F2.MAP5.W0
  RET
 ENDP IihVCVT2PH2BF8S::
↑ VCVT2PH2HF8
Convert 16|32|64 packed FP16 to 16|32|64 packed HF8 E4M3.
Reference
EVEX.512.F2.MAP5.W0 18 /r
VCVT2PH2HF8 zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t5232
IihVCVT2PH2HF8:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0x18
  IiDisp8EVEX FULL2
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.F2.MAP5.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.F2.MAP5.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.F2.MAP5.W0
  RET
 ENDP IihVCVT2PH2HF8::
↑ VCVT2PH2HF8S
Convert 16|32|64 packed FP16 to 16|32|64 packed HF8 E4M3.
Reference
EVEX.512.F2.MAP5.W0 1B /r
VCVT2PH2HF8S zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t5232
IihVCVT2PH2HF8S:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0x1B
  IiDisp8EVEX FULL2
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.F2.MAP5.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.F2.MAP5.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.F2.MAP5.W0
  RET
 ENDP IihVCVT2PH2HF8S::
↑ VCVT2PS2PHX
Convert 16|32|64 packed FP16 to 16|32|64 packed HF8 E4M3.
Reference
EVEX.512.66.0F38.W0 67 /r
VCVT2PS2PHX zmm1{k1}{z}, zmm2, zmm3/m512/m32bcst{er}
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t5234
IihVCVT2PS2PHX:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING,SAE
  IiAllowBroadcasting DWORD
  IiEmitOpcode 0x67
  IiDisp8EVEX FULL2
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.66.0F38.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.66.0F38.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.66.0F38.W0
  RET
 ENDP IihVCVT2PS2PHX::
↑ VCVTPH2BF8
Convert 8|16|32 packed FP16 to 8|16|32 packed BF8 E5M2.
Reference
EVEX.512.F3.0F38.W0 74 /r
VCVT2PH2BF8 ymm1{k1}{z}, zmm2/m512/m16bcst
FULL MODRM.REG(w) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5232
IihVCVTPH2BF8:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0x74
  IiDisp8EVEX FULL2
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, xmm.ymm, ymm.zmm, ymm.mem
.xmm.mem:
  IiDispatchData OWORD=.xmm.xmm:, YWORD=.xmm.ymm:
  IiAbort '6730' ; Operand size could not be determined, please use DATA= modifier.
.xmm.xmm:
  IiEncoding DATA=OWORD
  IiEmitPrefix EVEX.128.F3.0F38.W0
  RET
.xmm.ymm:
  IiEncoding DATA=YWORD
  IiEmitPrefix EVEX.256.F3.0F38.W0
  RET
.ymm.zmm:
.ymm.mem:
  IiEncoding DATA=ZWORD
  IiEmitPrefix EVEX.512.F3.0F38.W0
  RET
 ENDP IihVCVTPH2BF8::
↑ VCVTPH2BF8S
Convert 8|16|32 packed FP16 to 8|16|32 packed saturated BF8 E5M2.
Reference
EVEX.512.F3.MAP5.W0 74 /r
VCVTPH2BF8S ymm1{k1}{z}, zmm2/m512/m16bcst
FULL MODRM.REG(w) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5232
IihVCVTPH2BF8S:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0x74
  IiDisp8EVEX FULL2
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, xmm.ymm, ymm.zmm, ymm.mem
.xmm.mem:
  IiDispatchData OWORD=.xmm.xmm:, YWORD=.xmm.ymm:
  IiAbort '6730' ; Operand size could not be determined, please use DATA= modifier.
.xmm.xmm:
  IiEncoding DATA=OWORD
  IiEmitPrefix EVEX.128.F3.MAP5.W0
  RET
.xmm.ymm:
  IiEncoding DATA=YWORD
  IiEmitPrefix EVEX.256.F3.MAP5.W0
  RET
.ymm.zmm:
.ymm.mem:
  IiEncoding DATA=ZWORD
  IiEmitPrefix EVEX.512.F3.MAP5.W0
  RET
 ENDP IihVCVTPH2BF8S::
↑ VCVTPH2HF8
Convert 8|16|32 packed FP16 to 8|16|32 packed HF8 E4M3.
Reference
EVEX.512.F3.MAP5.W0 18 /r
VCVTPH2HF8 ymm1{k1}{z}, zmm2/m512/m16bcst
FULL MODRM.REG(w) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5232
IihVCVTPH2HF8:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0x18
  IiDisp8EVEX FULL2
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, xmm.ymm, ymm.zmm, ymm.mem
.xmm.mem:
  IiDispatchData OWORD=.xmm.xmm, YWORD=.xmm.ymm
  IiAbort '6730' ; Operand size could not be determined, please use DATA= modifier.
.xmm.xmm:
  IiEncoding DATA=OWORD
  IiEmitPrefix EVEX.128.F3.MAP5.W0
  RET
.xmm.ymm:
  IiEncoding DATA=YWORD
  IiEmitPrefix EVEX.256.F3.MAP5.W0
  RET
.ymm.mem:
.ymm.zmm:
  IiEncoding DATA=ZWORD
  IiEmitPrefix EVEX.512.F3.MAP5.W0
  RET
 ENDP IihVCVTPH2HF8::
↑ VCVTPH2HF8S
Convert 8|16|32 packed FP16 to 8|16|32 packed saturated HF8 E4M3.
Reference
EVEX.512.F3.MAP5.W0 18 /r
VCVT2PH2HF8 ymm1{k1}{z}, zmm2/m512/m16bcst
FULL MODRM.REG(w) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5232
IihVCVTPH2HF8S:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0x1B
  IiDisp8EVEX FULL2
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, xmm.ymm, ymm.zmm, ymm.mem
.xmm.mem:
  IiDispatchData OWORD=.xmm.xmm, YWORD=.xmm.ymm
  IiAbort '6730' ; Operand size could not be determined, please use DATA= modifier.
.xmm.xmm:
  IiEncoding DATA=OWORD
  IiEmitPrefix EVEX.128.F3.MAP5.W0
  RET
.xmm.ymm:
  IiEncoding DATA=YWORD
  IiEmitPrefix EVEX.256.F3.MAP5.W0
  RET
.ymm.zmm:
.ymm.mem:
  IiEncoding DATA=ZWORD
  IiEmitPrefix EVEX.512.F3.MAP5.W0
  RET
 ENDP IihVCVTPH2HF8S::
↑ VDIVBF16
Divide BF16 values.
Reference
EVEX.512.66.MAP5.W0 5E /r
VDIVBF16 zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst
SCALAR FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t5211
IihVDIVBF16:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0x5E
  IiDisp8EVEX FULL2
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.66.MAP5.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.66.MAP5.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP5.W0
  RET
 ENDP IihVDIVBF16::
↑ VFMADD132BF16
Packed multiply-add BF16 values.
Reference
EVEX.512.NP.MAP6.W0 98 /r
VFMADD132BF16 zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t4651
IihVFMADD132BF16:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0x98
  IiDisp8EVEX FULL2
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP6.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.NP.MAP6.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP6.W0
  RET
 ENDP IihVFMADD132BF16::
↑ VFMADD213BF16
Packed multiply-add BF16 values.
Reference
EVEX.512.NP.MAP6.W0 A8 /r
VFMADD213BF16 zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t4651
IihVFMADD213BF16:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0xA8
  IiDisp8EVEX FULL2
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP6.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.NP.MAP6.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP6.W0
  RET
 ENDP IihVFMADD213BF16::
↑ VFMADD231BF16
Packed multiply-add BF16 values.
Reference
EVEX.512.NP.MAP6.W0 B8 /r
VFMADD231BF16 zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst
SCALAR FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t4651
IihVFMADD231BF16:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0xB8
  IiDisp8EVEX FULL2
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP6.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.NP.MAP6.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP6.W0
  RET
 ENDP IihVFMADD231BF16::
↑ VFMSUB132BF16
Packed multiply-subtract BF16 values.
Reference
EVEX.128.NP.MAP6.W0 9A /r
VFMSUB132BF16 zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t4651
IihVFMSUB132BF16:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0x9A
  IiDisp8EVEX FULL
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP6.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.NP.MAP6.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP6.W0
  RET
 ENDP IihVFMSUB132BF16::
↑ VFMSUB213BF16
Packed multiply-subtract BF16 values.
Reference
EVEX.128.NP.MAP6.W0 AA /r
VFMSUB213BF16 zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t4651
IihVFMSUB213BF16:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0xAA
  IiDisp8EVEX FULL2
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP6.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.NP.MAP6.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP6.W0
  RET
 ENDP IihVFMSUB213BF16::
↑ VFMSUB231BF16
Packed multiply-subtract BF16 values.
Reference
EVEX.128.NP.MAP6.W0 BA /r
VFMSUB231BF16 zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t4651
IihVFMSUB231BF16:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0xBA
  IiDisp8EVEX FULL2
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP6.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.NP.MAP6.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP6.W0
  RET
 ENDP IihVFMSUB231BF16::
↑ VFNMADD132BF16
Packes negated multiply-add BF16 values.
Reference
EVEX.512.NP.MAP6.W0 9C /r
VFNMADD132BF16 zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t4651
IihVFNMADD132BF16:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0x9C
  IiDisp8EVEX FULL2
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP6.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.NP.MAP6.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP6.W0
  RET
 ENDP IihVFNMADD132BF16::
↑ VFNMADD213BF16
Packes negated multiply-add BF16 values.
Reference
EVEX.512.NP.MAP6.W0 AC /r
VFNMADD213BF16 zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t4651
IihVFNMADD213BF16:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0xAC
  IiDisp8EVEX FULL2
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP6.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.NP.MAP6.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP6.W0
  RET
 ENDP IihVFNMADD213BF16::
↑ VFNMADD231BF16
Packes negated multiply-add BF16 values.
Reference
EVEX.512.NP.MAP6.W0 BC /r
VFNMADD231BF16 zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t4651
IihVFNMADD231BF16:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0xBC
  IiDisp8EVEX FULL2
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP6.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.NP.MAP6.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP6.W0
  RET
 ENDP IihVFNMADD231BF16::
↑ VFNMSUB132BF16
Packes negated multiply-subtract BF16 values.
Reference
EVEX.128.NP.MAP6.W0 9E /r
VFNMSUB132BF16 zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t4651
IihVFNMSUB132BF16:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0x9E
  IiDisp8EVEX FULL2
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP6.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.NP.MAP6.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP6.W0
  RET
 ENDP IihVFNMSUB132BF16::
↑ VFNMSUB213BF16
Packes negated multiply-subtract BF16 values.
Reference
EVEX.128.NP.MAP6.W0 AE /r
VFNMSUB213BF16 zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t4651
IihVFNMSUB213BF16:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0xAE
  IiDisp8EVEX FULL2
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP6.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.NP.MAP6.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP6.W0
  RET
 ENDP IihVFNMSUB213BF16::
↑ VFNMSUB231BF16
Packes negated multiply-subtract BF16 values.
Reference
EVEX.128.NP.MAP6.W0 BE /r
VFNMSUB231BF16 zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t4651
IihVFNMSUB231BF16:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0xBE
  IiDisp8EVEX FULL2
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP6.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.NP.MAP6.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP6.W0
  RET
 ENDP IihVFNMSUB231BF16::
↑ VCVTBF162IBS
Convert BF16 to saturated signed 8-bit integer.
Reference
EVEX.512.F2.MAP5.W0 69 /r
VCVTBF162IBS xmm1{k1}{z}, xmm2/m128/m16bcst
FULL MODRM.REG(w) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5236
IihVCVTBF162IBS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0x69
  IiDisp8EVEX FULL2
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.F2.MAP5.W0
  RET
.ymm.ymm:
.ymm.mem:
  IiEmitPrefix EVEX.256.F2.MAP5.W0
  RET
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.F2.MAP5.W0
  RET
 ENDP IihVCVTBF162IBS::
↑ VCVTBF162IUBS
Convert BF16 to saturated unsigned 8-bit integer.
Reference
EVEX.512.F2.MAP5.W0 6B /r
VCVTBF162IUBS zmm1{k1}{z}, zmm2/m512/m16bcst
FULL MODRM.REG(w) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5236
IihVCVTBF162IUBS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0x6B
  IiDisp8EVEX FULL2
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.F2.MAP5.W0
  RET
.ymm.ymm:
.ymm.mem:
  IiEmitPrefix EVEX.256.F2.MAP5.W0
  RET
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.F2.MAP5.W0
  RET
 ENDP IihVCVTBF162IUBS::
↑ VCVTTBF162IBS
Convert BF16 to saturated truncated signed 8-bit integer.
Reference
EVEX.512.F2.MAP5.W0 68 /r
VCVTTBF162IBS xmm1{k1}{z}, xmm2/m128/m16bcst
FULL MODRM.REG(w) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5236
IihVCVTTBF162IBS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0x68
  IiDisp8EVEX FULL2
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.F2.MAP5.W0
  RET
.ymm.ymm:
.ymm.mem:
  IiEmitPrefix EVEX.256.F2.MAP5.W0
  RET
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.F2.MAP5.W0
  RET
 ENDP IihVCVTTBF162IBS::
↑ VCVTTBF162IUBS
Convert BF16 to saturated truncated unsigned 8-bit integer.
Reference
EVEX.512.F2.MAP5.W0 6A /r
VCVTTBF162IUBS zmm1{k1}{z}, zmm2/m512/m16bcst
FULL MODRM.REG(w) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5236
IihVCVTTBF162IUBS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0x6A
  IiDisp8EVEX FULL2
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.F2.MAP5.W0
  RET
.ymm.ymm:
.ymm.mem:
  IiEmitPrefix EVEX.256.F2.MAP5.W0
  RET
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.F2.MAP5.W0
  RET
 ENDP IihVCVTTBF162IUBS::
↑ VCVTBIASPH2BF8
Convert bias rounded addition to FP8 E5M2.
Reference
EVEX.512.NP.0F38.W0 74 /r
VCVTBIASPH2BF8 ymm1{k1}{z}, zmm2, zmm3/m512/m16bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t5237
IihVCVTBIASPH2BF8:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0x74
  IiDisp8EVEX FULL2
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, xmm.ymm.ymm, xmm.ymm.mem, ymm.zmm.zmm, ymm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.NP.0F38.W0
  RET
.xmm.ymm.ymm:
.xmm.ymm.mem:
  IiEmitPrefix EVEX.256.NP.0F38.W0
  RET
.ymm.zmm.zmm:
.ymm.zmm.mem:
  IiEmitPrefix EVEX.512.NP.0F38.W0
  RET
 ENDP IihVCVTBIASPH2BF8::
↑ VCVTBIASPH2BF8S
Convert bias rounded truncated addition to FP8 E5M2.
Reference
EVEX.512.NP.MAP5.W0 74 /r
VCVTBIASPH2BF8S ymm1{k1}{z}, zmm2, zmm3/m512/m16bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t5237
IihVCVTBIASPH2BF8S:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0x74
  IiDisp8EVEX FULL2
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, xmm.ymm.ymm, xmm.ymm.mem, ymm.zmm.zmm, ymm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP5.W0
  RET
.xmm.ymm.ymm:
.xmm.ymm.mem:
  IiEmitPrefix EVEX.256.NP.MAP5.W0
  RET
.ymm.zmm.zmm:
.ymm.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP5.W0
  RET
 ENDP IihVCVTBIASPH2BF8S::
↑ VCVTBIASPH2HF8
Convert bias rounded addition to FP8 E4M3.
Reference
EVEX.512.NP.MAP5.W0 18 /r
VCVTBIASPH2HF8 ymm1{k1}{z}, zmm2, zmm3/m512/m16bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t5237
IihVCVTBIASPH2HF8:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0x18
  IiDisp8EVEX FULL2
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, xmm.ymm.ymm, xmm.ymm.mem, ymm.zmm.zmm, ymm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP5.W0
  RET
.xmm.ymm.ymm:
.xmm.ymm.mem:
  IiEmitPrefix EVEX.256.NP.MAP5.W0
  RET
.ymm.zmm.zmm:
.ymm.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP5.W0
  RET
 ENDP IihVCVTBIASPH2HF8::
↑ VCVTBIASPH2HF8S
Convert bias rounded truncated addition to FP8 E4M3.
Reference
EVEX.512.NP.MAP5.W0 1B /r
VCVTBIASPH2HF8S ymm1{k1}{z}, zmm2, zmm3/m512/m16bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t5237
IihVCVTBIASPH2HF8S:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0x1B
  IiDisp8EVEX FULL2
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, xmm.ymm.ymm, xmm.ymm.mem, ymm.zmm.zmm, ymm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP5.W0
  RET
.xmm.ymm.ymm:
.xmm.ymm.mem:
  IiEmitPrefix EVEX.256.NP.MAP5.W0
  RET
.ymm.zmm.zmm:
.ymm.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP5.W0
  RET
 ENDP IihVCVTBIASPH2HF8S::
↑ VCVTHF82PH
Convert FP8 E4M3 to FP16.
Reference
EVEX.512.F2.MAP5.W0 1E /r
VCVTHF82PH zmm1{k1}{z}, ymm2/m256
HALF MODRM.REG(w) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5236
IihVCVTHF82PH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING
  IiEmitOpcode 0x1E
  IiDisp8EVEX HALF2
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.xmm, ymm.mem, zmm.ymm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.F2.MAP5.W0
  RET
.ymm.xmm:
.ymm.mem:
  IiEmitPrefix EVEX.256.F2.MAP5.W0
  RET
.zmm.ymm:
.zmm.mem:
  IiEmitPrefix EVEX.512.F2.MAP5.W0
  RET
 ENDP IihVCVTHF82PH::
↑ VCVTPH2IBS
Convert FP16 to rounded signed 8-bit integer.
Reference
EVEX.512.NP.MAP5.W0 69 /r
VCVTPH2IBS zmm1{k1}{z}, zmm2/m512/m16bcst {er}
FULL MODRM.REG(w) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5238
IihVCVTPH2IBS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowBroadcasting WORD
  IiAllowRounding
  IiEmitOpcode 0x69
  IiDisp8EVEX FULL2
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP5.W0
  RET
.ymm.ymm:
.ymm.mem:
  IiEmitPrefix EVEX.256.NP.MAP5.W0
  RET
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP5.W0
  RET
 ENDP IihVCVTPH2IBS::
↑ VCVTPH2IUBS
Convert FP16 to rounded unsigned 8-bit integer.
Reference
EVEX.512.NP.MAP5.W0 6B /r
VCVTPH2IUBS zmm1{k1}{z}, zmm2/m512/m16bcst {er}
FULL MODRM.REG(w) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5238
IihVCVTPH2IUBS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowBroadcasting WORD
  IiAllowRounding
  IiEmitOpcode 0x6B
  IiDisp8EVEX FULL2
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP5.W0
  RET
.ymm.ymm:
.ymm.mem:
  IiEmitPrefix EVEX.256.NP.MAP5.W0
  RET
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP5.W0
  RET
 ENDP IihVCVTPH2IUBS::
↑ VCVTTPH2IBS
Convert FP16 to truncated signed 8-bit integer.
Reference
EVEX.512.NP.MAP5.W0 68 /r
VCVTTPH2IBS zmm1{k1}{z}, zmm2/m512/m16bcst {sae}
FULL MODRM.REG(w) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5238
IihVCVTTPH2IBS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,SAE
  IiAllowSuppressing
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x68
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP5.W0
  RET
.ymm.ymm:
.ymm.mem:
  IiEmitPrefix EVEX.256.NP.MAP5.W0
  RET
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP5.W0
  RET
 ENDP IihVCVTTPH2IBS::
↑ VCVTTPH2IUBS
Convert FP16 to truncated unsigned 8-bit integer.
Reference
EVEX.512.NP.MAP5.W0 6A /r
VCVTTPH2IUBS zmm1{k1}{z}, zmm2/m512/m16bcst {sae}
FULL MODRM.REG(w) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5238
IihVCVTTPH2IUBS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,SAE
  IiAllowBroadcasting WORD
  IiAllowSuppressing
  IiEmitOpcode 0x6A
  IiDisp8EVEX FULL2
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP5.W0
  RET
.ymm.ymm:
.ymm.mem:
  IiEmitPrefix EVEX.256.NP.MAP5.W0
  RET
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP5.W0
  RET
 ENDP IihVCVTTPH2IUBS::
↑ VCVTPS2IBS
Convert 4|8|16 FP32 to saturated signed 8-bit integer.
Reference
EVEX.128.66.MAP5.W0 69 /r
VCVTPS2IBS zmm1{k1}{z}, zmm2/m512/m32bcst {er}
FULL MODRM.REG(w) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5238
IihVCVTPS2IBS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowBroadcasting DWORD
  IiAllowRounding
  IiEmitOpcode 0x69
  IiDisp8EVEX FULL4
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.66.MAP5.W0
  RET
.ymm.ymm:
.ymm.mem:
  IiEmitPrefix EVEX.256.66.MAP5.W0
  RET
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP5.W0
  RET
 ENDP IihVCVTPS2IBS::
↑ VCVTPS2IUBS
Convert FP32 to saturated unsigned 8-bit integer.
Reference
EVEX.512.66.MAP5.W0 6B /r
VCVTPS2IUBS zmm1{k1}{z}, zmm2/m512/m32bcst {er}
FULL FULL MODRM.REG(w) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5238
IihVCVTPS2IUBS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowBroadcasting DWORD
  IiAllowRounding
  IiEmitOpcode 0x6B
  IiDisp8EVEX FULL4
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.66.MAP5.W0
  RET
.ymm.ymm:
.ymm.mem:
  IiEmitPrefix EVEX.256.66.MAP5.W0
  RET
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP5.W0
  RET
 ENDP IihVCVTPS2IUBS::
↑ VCVTTPS2IBS
Convert FP32 to truncated saturated signed 8-bit integer.
Reference
EVEX.512.66.MAP5.W0 68 /r
VCVTTPS2IBS zmm1{k1}{z}, zmm2/m512/m32bcst {sae}
FULL MODRM.REG(w) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5238
IihVCVTTPS2IBS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,SAE
  IiAllowBroadcasting DWORD
  IiAllowSuppressing Operand=DL, Register=zmm, Swizzle=no
  IiEmitOpcode 0x68
  IiDisp8EVEX FULL4
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.66.MAP5.W0
  RET
.ymm.ymm:
.ymm.mem:
  IiEmitPrefix EVEX.256.66.MAP5.W0
  RET
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP5.W0
  RET
 ENDP IihVCVTTPS2IBS::
↑ VCVTTPS2IUBS
Convert FP32 to truncated saturated unsigned 8-bit integer.
Reference
EVEX.512.66.MAP5.W0 6A /r
VCVTTPS2IUBS zmm1{k1}{z}, zmm2/m512/m32bcst {sae}
FULL MODRM.REG(w) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5238
IihVCVTTPS2IUBS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,SAE
  IiAllowBroadcasting DWORD
  IiAllowSuppressing Operand=DL, Register=zmm, Swizzle=no
  IiEmitOpcode 0x6A
  IiDisp8EVEX FULL4
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.66.MAP5.W0
  RET
.ymm.ymm:
.ymm.mem:
  IiEmitPrefix EVEX.256.66.MAP5.W0
  RET
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP5.W0
  RET
 ENDP IihVCVTTPS2IUBS::
↑ VCVTTPD2DQS
Convert packed FP64 to packed truncated saturated 32bit integer.
Reference
EVEX.512.NP.MAP5.W1 6D /r
VCVTTPD2DQS xmm1{k1}{z}, xmm2/m128/m64bcst
FULL MODRM.REG(w) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5239
IihVCVTTPD2DQS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,SAE
  IiAllowBroadcasting QWORD
  IiAllowRounding
  IiEmitOpcode 0x6D
  IiDisp8EVEX FULL8
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, xmm.ymm, ymm.mem, ymm.zmm
.xmm.mem:
  IiDispatchData OWORD=.xmm.xmm:, YWORD=.xmm.ymm:
  IiAbort '6730' ; Operand size could not be determined, please use DATA= modifier.
.xmm.xmm:
  IiEmitPrefix EVEX.128.NP.MAP5.W1
  RET
.xmm.ymm:
  IiEmitPrefix EVEX.256.NP.MAP5.W1
  RET
.ymm.zmm:
.ymm.mem:
  IiEmitPrefix EVEX.512.NP.MAP5.W1
  RET
 ENDP IihVCVTTPD2DQS::
↑ VCVTTPD2QQS
Convert packed FP64 to packed truncated saturated 64bit integer.
Reference
EVEX.512.66.MAP5.W1 6D /r
VCVTTPD2QQS zmm1{k1}{z}, zmm2/m512/m64bcst {sae}
FULL MODRM.REG(w) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5239
IihVCVTTPD2QQS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,SAE
  IiAllowBroadcasting QWORD
  IiAllowSuppressing Operand=DL, Register=zmm, Swizzle=no
  IiAllowRounding
  IiEmitOpcode 0x6D
  IiDisp8EVEX FULL8
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.66.MAP5.W1
  RET
.ymm.ymm:
.ymm.mem:
  IiEmitPrefix EVEX.256.66.MAP5.W1
  RET
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP5.W1
  RET
 ENDP IihVCVTTPD2QQS::
↑ VCVTTPD2UDQS
Convert packed FP64 to packed truncated saturated unsigned 32bit integer.
Reference
EVEX.512.NP.MAP5.W1 6C /r
VCVTTPD2UDQS ymm1{k1}{z}, zmm2/m512/m64bcst {sae}
FULL MODRM.REG(w) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5239
IihVCVTTPD2UDQS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,SAE
  IiAllowBroadcasting QWORD
  IiAllowSuppressing Operand=DL, Register=zmm, Swizzle=no
  IiAllowRounding
  IiEmitOpcode 0x6C
  IiDisp8EVEX FULL8
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, xmm.ymm, ymm.mem, ymm.zmm
.xmm.mem:
  IiDispatchData OWORD=.xmm.xmm:, YWORD=.xmm.ymm:
  IiAbort '6730' ; Operand size could not be determined, please use DATA= modifier.
.xmm.xmm:
  IiEmitPrefix EVEX.128.NP.MAP5.W1
  RET
.xmm.ymm:
  IiEmitPrefix EVEX.256.NP.MAP5.W1
  RET
.ymm.zmm:
.ymm.mem:
  IiEmitPrefix EVEX.512.NP.MAP5.W1
  RET
 ENDP IihVCVTTPD2UDQS::
↑ VCVTTPD2UQQS
Convert packed FP64 to packed truncated saturated unsigned 64bit integer.
Reference
EVEX.512.66.MAP5.W1 6C /r
VCVTTPD2UQQS zmm1{k1}{z}, zmm2/m512/m64bcst {sae}
FULL MODRM.REG(w) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5239
IihVCVTTPD2UQQS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,SAE
  IiAllowBroadcasting QWORD
  IiAllowSuppressing Operand=DL, Register=zmm, Swizzle=no
  IiAllowRounding
  IiEmitOpcode 0x6C
  IiDisp8EVEX FULL8
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.66.MAP5.W1
  RET
.ymm.ymm:
.ymm.mem:
  IiEmitPrefix EVEX.256.66.MAP5.W1
  RET
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP5.W1
  RET
 ENDP IihVCVTTPD2UQQS::
↑ VCVTTPS2DQS
Convert packed FP32 to packed truncated saturated 32bit integer.
Reference
EVEX.512.NP.MAP5.W0 6D /r
VCVTTPS2DQS zmm1{k1}{z}, zmm2/m512/m32bcst {sae}
FULL MODRM.REG(w) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5239
IihVCVTTPS2DQS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,SAE
  IiAllowBroadcasting DWORD
  IiAllowRounding
  IiAllowSuppressing Operand=DL, Register=zmm, Swizzle=no
  IiEmitOpcode 0x6D
  IiDisp8EVEX FULL4
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP5.W0
  RET
.ymm.ymm:
.ymm.mem:
  IiEmitPrefix EVEX.256.NP.MAP5.W0
  RET
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP5.W0
  RET
 ENDP IihVCVTTPS2DQS::
↑ VCVTTPS2QQS
Convert packed FP32 to packed truncated saturated 64bit integer.
Reference
EVEX.512.66.MAP5.W0 6D /r
VCVTTPS2QQS zmm1{k1}{z}, ymm2/m256/m32bcst {sae}
HALF MODRM.REG(w) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5239
IihVCVTTPS2QQS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,SAE
  IiAllowBroadcasting DWORD
  IiAllowSuppressing Operand=DL, Register=zmm, Swizzle=no
  IiAllowRounding
  IiEmitOpcode 0x6D
  IiDisp8EVEX HALF4
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.xmm, ymm.mem, zmm.ymm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.66.MAP5.W0
  RET
.ymm.xmm:
.ymm.mem:
  IiEmitPrefix EVEX.256.66.MAP5.W0
  RET
.zmm.ymm:
.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP5.W0
  RET
 ENDP IihVCVTTPS2QQS::
↑ VCVTTPS2UDQS
Convert packed FP32 to packed truncated saturated unsigned 32bit integer.
Reference
EVEX.512.NP.MAP5.W0 6C /r
VCVTTPS2UDQS zmm1{k1}{z}, zmm2/m512/m32bcst {sae}
FULL MODRM.REG(w) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5239
IihVCVTTPS2UDQS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,SAE
  IiAllowBroadcasting DWORD
  IiAllowSuppressing Operand=DL, Register=zmm, Swizzle=no
  IiEmitOpcode 0x6C
  IiDisp8EVEX FULL4
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP5.W0
  RET
.ymm.ymm:
.ymm.mem:
  IiEmitPrefix EVEX.256.NP.MAP5.W0
  RET
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP5.W0
  RET
 ENDP IihVCVTTPS2UDQS::
↑ VCVTTPS2UQQS
Convert packed FP32 to packed truncated saturated unsigned 64bit integer.
Reference
EVEX.512.66.MAP5.W0 6C /r
VCVTTPS2UQQS zmm1{k1}{z}, ymm2/m256/m32bcst {sae}
FULL MODRM.REG(w) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5239
IihVCVTTPS2UQQS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,SAE
  IiAllowBroadcasting DWORD
  IiAllowSuppressing Operand=DL, Register=zmm, Swizzle=no
  IiEmitOpcode 0x6C
  IiDisp8EVEX HALF4
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.xmm, ymm.mem, zmm.ymm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.66.MAP5.W0
  RET
.ymm.xmm:
.ymm.mem:
  IiEmitPrefix EVEX.256.66.MAP5.W0
  RET
.zmm.ymm:
.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP5.W0
  RET
 ENDP IihVCVTTPS2UQQS::
↑ VCVTTSD2SIS
Convert FP64 to a truncated saturated 32-bit or 64-bit integer.
Reference
EVEX.LLIG.F2.MAP5.W0 6D /r
VCVTTSD2SIS r32, xmm1/m64 {sae}
EVEX.LLIG.F2.MAP5.W1 6D /r
VCVTTSD2SIS r64, xmm1/m64 {sae}
SCALAR MODRM.REG(w) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5234
IihVCVTTSD2SIS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,SAE
  IiAllowSuppressing Operand=DL, Register=xmm, Swizzle=no
  IiEmitOpcode 0x6D
  IiDisp8EVEX SCALAR8
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat r32.xmm, r32.mem, r64.xmm, r64.mem
.r32.xmm:
.r32.mem:
  IiEncoding DATA=DWORD
  IiEmitPrefix EVEX.LLIG.F2.MAP5.W0
  RET
.r64.xmm:
.r64.mem:
  IiEncoding DATA=QWORD
  IiEmitPrefix EVEX.LLIG.F2.MAP5.W1
  RET
 ENDP IihVCVTTSD2SIS::
↑ VCVTTSD2USIS
Convert FP64 to a truncated saturated unsigned 32-bit or 64-bit integer.
Reference
EVEX.LLIG.F2.MAP5.W0 6C /r
VCVTTSD2USIS r32, xmm1/m64 {sae}
EVEX.LLIG.F2.MAP5.W1 6C /r
VCVTTSD2USIS r64, xmm1/m64 {sae}
SCALAR MODRM.REG(w) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5234
IihVCVTTSD2USIS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,SAE
  IiAllowSuppressing Operand=DL, Register=xmm, Swizzle=no
  IiEmitOpcode 0x6C
  IiDisp8EVEX SCALAR8
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat r32.xmm, r32.mem, r64.xmm, r64.mem
.r32.xmm:
.r32.mem:
  IiEmitPrefix EVEX.LLIG.F2.MAP5.W0
  RET
.r64.xmm:
.r64.mem:
  IiEmitPrefix EVEX.LLIG.F2.MAP5.W1
  RET
 ENDP IihVCVTTSD2USIS::
↑ VCVTTSS2SIS
Convert FP32 to a truncated saturated 32-bit or 64-bit integer.
Reference
EVEX.LLIG.F3.MAP5.W0 6D /r
VCVTTSS2SIS r32, xmm1/m64 {sae}
EVEX.LLIG.F3.MAP5.W1 6D /r
VCVTTSS2SIS r64, xmm1/m64 {sae}
SCALAR MODRM.REG(w) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5234
IihVCVTTSS2SIS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,SAE
  IiAllowSuppressing Operand=DL, Register=xmm, Swizzle=no
  IiEmitOpcode 0x6D
  IiDisp8EVEX SCALAR4
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat r32.xmm, r32.mem, r64.xmm, r64.mem
.r32.xmm:
.r32.mem:
  IiEmitPrefix EVEX.LLIG.F3.MAP5.W0
  RET
.r64.xmm:
.r64.mem:
  IiEmitPrefix EVEX.LLIG.F3.MAP5.W1
  RET
 ENDP IihVCVTTSS2SIS::
↑ VCVTTSS2USIS
Convert FP32 to a truncated saturated unsigned 32-bit or 64-bit integer.
Reference
EVEX.LLIG.F3.MAP5.W0 6C /r
VCVTTSS2USIS r32, xmm1/m64 {sae}
EVEX.LLIG.F3.MAP5.W1 6C /r
VCVTTSS2USIS r64, xmm1/m64 {sae}
SCALAR MODRM.REG(w) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5234
IihVCVTTSS2USIS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,SAE
  IiAllowSuppressing Operand=DL, Register=xmm, Swizzle=no
  IiEmitOpcode 0x6C
  IiDisp8EVEX SCALAR4
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat r32.xmm, r32.mem, r64.xmm, r64.mem
.r32.xmm:
.r32.mem:
  IiEmitPrefix EVEX.LLIG.F3.MAP5.W0
  RET
.r64.xmm:
.r64.mem:
  IiEmitPrefix EVEX.LLIG.F3.MAP5.W1
  RET
 ENDP IihVCVTTSS2USIS::
↑ VDPPHPS
Perform dot-product of two FP16 pairs and accumulate into a packed FP32.
Reference
EVEX.512.NP.0F38.W0 52 /r
VDPPHPS zmm1{k1}{z}, zmm2, zmm3/m512/m32bcst
FULL MODRM.REG(rw) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t5280
IihVDPPHPS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST
  IiAllowBroadcasting DWORD
  IiEmitOpcode 0x52
  IiDisp8EVEX FULL4
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm,xmm.xmm.mem,ymm.ymm.ymm,ymm.ymm.mem,zmm.zmm.zmm,zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.NP.0F38.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.NP.0F38.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.NP.0F38.W0
  RET
 ENDP IihVDPPHPS::
↑ VFPCLASSBF16
Classify packed BF16.
Reference
EVEX.512.F2.0F3A.W0 66 /r /ib
VFPCLASSBF16 k1{k2}, zmm2/m512/m16bcst, imm8
FULL MODRM.REG(w) MODRM.R/M(r) IMM8(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t5430
IihVFPCLASSBF16:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,IMM,BCST,MASK,BCST
  IiAllowBroadcasting WORD
  IiEmitOpcode 0x66
  IiEmitImm Operand3, BYTE, Max=255
  IiDisp8EVEX FULL2
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat krg.xmm.imm, krg.ymm.imm, krg.zmm.imm, krg.mem.imm
.krg.mem.imm:
  IiDispatchData OWORD=.krg.xmm.imm:, YWORD=.krg.ymm.imm:, ZWORD=.krg.zmm.imm:
  IiAbort '6730' ; Operand size could not be determined, please use DATA= modifier.
.krg.xmm.imm:
  IiEmitPrefix EVEX.128.F2.0F3A.W0
  RET
.krg.ymm.imm:
  IiEmitPrefix EVEX.256.F2.0F3A.W0
  RET
.krg.zmm.imm:
  IiEmitPrefix EVEX.512.F2.0F3A.W0
  RET
  RET
 ENDP IihVFPCLASSBF16::
↑ VGETEXPBF16
Extract biased exponents to BF16.
Reference
EVEX.512.NP.MAP6.W0 42 /r
VGETEXPBF16 zmm1{k1}{z}, zmm2/m512/m16bcs
FULL MODRM.REG(w) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5460
IihVGETEXPBF16:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0x42
  IiDisp8EVEX FULL2
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP6.W0
  RET
.ymm.ymm:
.ymm.mem:
  IiEmitPrefix EVEX.256.NP.MAP6.W0
  RET
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP6.W0
  RET
 ENDP IihVGETEXPBF16::
↑ VGETMANTBF16
Convert BF16 to BF16 with the mantissa normalization by imm8.
Reference
EVEX.512.F2.0F3A.W0 26 /r /ib
VGETMANTBF16 zmm1{k1}{z}, zmm2/m512/m16bcst, imm8
FULL MODRM.REG(w) MODRM.R/M(r) IMM8(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t5462
IihVGETMANTBF16:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,IMM,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0x26
  IiDisp8EVEX FULL2
  IiEmitImm Operand3, BYTE, Max=255
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm.imm, xmm.mem.imm, ymm.ymm.imm, ymm.mem.imm, zmm.zmm.imm, zmm.mem.imm
.xmm.xmm.imm:
.xmm.mem.imm:
  IiEmitPrefix EVEX.128.F2.0F3A.W0
  RET
.ymm.ymm.imm:
.ymm.mem.imm:
  IiEmitPrefix EVEX.256.F2.0F3A.W0
  RET
.zmm.zmm.imm:
.zmm.mem.imm:
  IiEmitPrefix EVEX.512.F2.0F3A.W0
  RET
 ENDP IihVGETMANTBF16::
↑ VMAXBF16
Return maximum value of two FP16.
Reference
EVEX.512.66.MAP5.W0 5F /r
VMAXBF16 zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t5215
IihVMAXBF16:: PROC
  IiRequire AVX10
  IiAllowBroadcasting WORD
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiEmitOpcode 0x5F
  IiDisp8EVEX FULL2
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.mem:
.xmm.xmm.xmm:
  IiEmitPrefix EVEX.128.66.MAP5.W0
  RET
.ymm.ymm.mem:
.ymm.ymm.ymm:
  IiEmitPrefix EVEX.256.66.MAP5.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP5.W0
  RET
 ENDP IihVMAXBF16::
↑ VMINBF16
Return minimum value of two FP16.
Reference
EVEX.512.66.MAP5.W0 5D /r
VMINBF16 zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t5215
IihVMINBF16:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0x5D
  IiDisp8EVEX FULL2
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.mem:
.xmm.xmm.xmm:
  IiEmitPrefix EVEX.128.66.MAP5.W0
  RET
.ymm.ymm.mem:
.ymm.ymm.ymm:
  IiEmitPrefix EVEX.256.66.MAP5.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP5.W0
  RET
 ENDP IihVMINBF16::
↑ VMINMAXBF16
Perform min/max comparison between two SIMD registers.
Reference
EVEX.512.F2.0F3A.W0 52 /r /ib
VMINMAXBF16 zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst, imm8
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) IMM8(r)
Documentation
[IntelAVX10.2]
Tested by
t5218
IihVMINMAXBF16:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,IMM,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiEmitOpcode 0x52
  IiDisp8EVEX FULL2
  IiEmitImm Operand4, BYTE, Max=255
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm.imm, xmm.xmm.mem.imm, ymm.ymm.ymm.imm, ymm.ymm.mem.imm, \
                   zmm.zmm.zmm.imm, zmm.zmm.mem.imm
.xmm.xmm.mem.imm:
.xmm.xmm.xmm.imm:
  IiEmitPrefix EVEX.128.F2.0F3A.W0
  RET
.ymm.ymm.mem.imm:
.ymm.ymm.ymm.imm:
  IiEmitPrefix EVEX.256.F2.0F3A.W0
  RET
.zmm.zmm.zmm.imm:
.zmm.zmm.mem.imm:
  IiEmitPrefix EVEX.512.F2.0F3A.W0
  RET
 ENDP IihVMINMAXBF16::
↑ VMINMAXPD
Perform min/max comparison between two SIMD registers.
Reference
EVEX.512.66.0F3A.W1 52 /r /ib
VMINMAXPD zmm1{k1}{z}, zmm2, zmm3/m512/m64bcst {sae}, imm8
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) IMM8(r)
Documentation
[IntelAVX10.2]
Tested by
t5218
IihVMINMAXPD:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,IMM,BCST,MASK,ZEROING,SAE
  IiAllowBroadcasting QWORD
  IiAllowSuppressing Operand=DH, Register=zmm, Swizzle=no
  IiEmitOpcode 0x52
  IiDisp8EVEX FULL8
  IiEmitImm Operand4, BYTE, Max=0x1F
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm.imm, xmm.xmm.mem.imm, ymm.ymm.ymm.imm, ymm.ymm.mem.imm, \
                   zmm.zmm.zmm.imm, zmm.zmm.mem.imm
.xmm.xmm.mem.imm:
.xmm.xmm.xmm.imm:
  IiEmitPrefix EVEX.128.66.0F3A.W1
  RET
.ymm.ymm.mem.imm:
.ymm.ymm.ymm.imm:
  IiEmitPrefix EVEX.256.66.0F3A.W1
  RET
.zmm.zmm.zmm.imm:
.zmm.zmm.mem.imm:
  IiEmitPrefix EVEX.512.66.0F3A.W1
  RET
 ENDP IihVMINMAXPD::
↑ VMINMAXPH
Perform min/max comparison between two SIMD registers.
Reference
EVEX.512.NP.0F3A.W0 52 /r /ib
VMINMAXPH zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst {sae}, imm8
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) IMM8(r)
Documentation
[IntelAVX10.2]
Tested by
t5218
IihVMINMAXPH:: PROC
  IiRequire AVX10
  IiAllowBroadcasting WORD
  IiAllowModifier DATA,IMM,BCST,MASK,ZEROING,SAE
  IiAllowSuppressing Operand=DH, Register=zmm, Swizzle=no
  IiEmitOpcode 0x52
  IiDisp8EVEX FULL2
  IiEmitImm Operand4, BYTE, Max=0x1F
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm.imm, xmm.xmm.mem.imm, ymm.ymm.ymm.imm, ymm.ymm.mem.imm, \
                   zmm.zmm.zmm.imm, zmm.zmm.mem.imm
.xmm.xmm.mem.imm:
.xmm.xmm.xmm.imm:
  IiEmitPrefix EVEX.128.NP.0F3A.W0
  RET
.ymm.ymm.mem.imm:
.ymm.ymm.ymm.imm:
  IiEmitPrefix EVEX.256.NP.0F3A.W0
  RET
.zmm.zmm.zmm.imm:
.zmm.zmm.mem.imm:
  IiEmitPrefix EVEX.512.NP.0F3A.W0
  RET
 ENDP IihVMINMAXPH::
↑ VMINMAXPS
Perform min/max comparison between two SIMD registers.
Reference
EVEX.512.66.0F3A.W0 52 /r /ib
VMINMAXPS zmm1{k1}{z}, zmm2, zmm3/m512/m32bcst {sae}, imm8
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) IMM8(r)
Documentation
[IntelAVX10.2]
Tested by
t5218
IihVMINMAXPS:: PROC
  IiRequire AVX10
  IiAllowBroadcasting DWORD
  IiAllowModifier DATA,IMM,BCST,MASK,ZEROING,SAE
  IiAllowSuppressing Operand=DH, Register=zmm, Swizzle=no
  IiEmitOpcode 0x52
  IiDisp8EVEX FULL4
  IiEmitImm Operand4, BYTE, Max=255
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm.imm, xmm.xmm.mem.imm, ymm.ymm.ymm.imm, ymm.ymm.mem.imm, \
                   zmm.zmm.zmm.imm, zmm.zmm.mem.imm
.xmm.xmm.mem.imm:
.xmm.xmm.xmm.imm:
  IiEmitPrefix EVEX.128.66.0F3A.W0
  RET
.ymm.ymm.mem.imm:
.ymm.ymm.ymm.imm:
  IiEmitPrefix EVEX.256.66.0F3A.W0
  RET
.zmm.zmm.zmm.imm:
.zmm.zmm.mem.imm:
  IiEmitPrefix EVEX.512.66.0F3A.W0
  RET
 ENDP IihVMINMAXPS::
↑ VMINMAXSD
Perform min/max comparison between two elements.
Reference
EVEX.LLIG.66.0F3A.W1 53 /r /ib
VMINMAXSD xmm1{k1}{z}, xmm2, xmm3/m64 {sae}, imm8
SCALAR MODRM.REG(w) VVVV(r) MODRM.R/M(r) IMM8(r)
Documentation
[IntelAVX10.2]
Tested by
t5218
IihVMINMAXSD:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,IMM,MASK,ZEROING,SAE
  IiAllowSuppressing Operand=DH, Register=xmm, Swizzle=no
  IiEmitOpcode 0x53
  IiDisp8EVEX SCALAR8
  IiEmitImm Operand4, BYTE
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm.imm, xmm.xmm.mem.imm
.xmm.xmm.mem.imm:
.xmm.xmm.xmm.imm:
  IiEmitPrefix EVEX.128.66.0F3A.W1
  RET
 ENDP IihVMINMAXSD::
↑ VMINMAXSH
Perform min/max comparison between two elements.
Reference
EVEX.512.NP.0F3A.W0 53 /r /ib
VMINMAXSH zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst {sae}, imm8
SCALAR MODRM.REG(w) VVVV(r) MODRM.R/M(r) IMM8(r)
Documentation
[IntelAVX10.2]
Tested by
t5218
IihVMINMAXSH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,IMM,MASK,ZEROING,SAE
  IiAllowSuppressing Operand=DH, Register=xmm, Swizzle=no
  IiEmitOpcode 0x53
  IiDisp8EVEX SCALAR2
  IiEmitImm Operand4, BYTE, Max=0x1F
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm.imm, xmm.xmm.mem.imm
.xmm.xmm.mem.imm:
.xmm.xmm.xmm.imm:
  IiEmitPrefix EVEX.128.NP.0F3A.W0
  RET
 ENDP IihVMINMAXSH::
↑ VMINMAXSS
Perform min/max comparison between two elements.
Reference
EVEX.512.66.0F3A.W0 53 /r /ib
VMINMAXSS zmm1{k1}{z}, zmm2, zmm3/m512/m32bcst {sae}, imm8
SCALAR MODRM.REG(w) VVVV(r) MODRM.R/M(r) IMM8(r)
Documentation
[IntelAVX10.2]
Tested by
t5218
IihVMINMAXSS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,IMM,MASK,ZEROING,SAE
  IiAllowSuppressing Operand=DH, Register=xmm, Swizzle=no
  IiEmitOpcode 0x53
  IiDisp8EVEX SCALAR4
  IiEmitImm Operand4, BYTE, Max=0x1F
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm.imm, xmm.xmm.mem.imm
.xmm.xmm.mem.imm:
.xmm.xmm.xmm.imm:
  IiEmitPrefix EVEX.128.66.0F3A.W0
  RET
 ENDP IihVMINMAXSS::
↑ VMULBF16
Multiply packed BF16 values.
Reference
EVEX.512.66.MAP5.W0 59 /r
VMULBF16 zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t5211
IihVMULBF16:: PROC
  IiRequire AVX10
  IiAllowBroadcasting WORD
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiEmitOpcode 0x59
  IiDisp8EVEX FULL2
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.mem:
.xmm.xmm.xmm:
  IiEmitPrefix EVEX.128.66.MAP5.W0
  RET
.ymm.ymm.mem:
.ymm.ymm.ymm:
  IiEmitPrefix EVEX.256.66.MAP5.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP5.W0
  RET
 ENDP IihVMULBF16::
↑ VPDPBSSD
Multiply BYTEs and accumulate results to DWORD.
Reference
EVEX.512.F2.0F38.W0 50 /r
VPDPBSSD zmm1{k1}{z}, zmm2, zmm3/m512/m32bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t5912
IihVPDPBSSD:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting DWORD
  IiDisp8EVEX FULL4
  IiEmitOpcode 0x50
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.mem:
.xmm.xmm.xmm:
  IiEmitPrefix EVEX.128.F2.0F38.W0
  RET
.ymm.ymm.mem:
.ymm.ymm.ymm:
  IiEmitPrefix EVEX.256.F2.0F38.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.F2.0F38.W0
  RET
 ENDP IihVPDPBSSD::
↑ VPDPBSSDS
Multiply BYTEs and accumulate results to DWORD.
Reference
EVEX.512.F2.0F38.W0 51 /r
VPDPBSSDS zmm1{k1}{z}, zmm2, zmm3/m512/m32bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t5912
IihVPDPBSSDS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting DWORD
  IiDisp8EVEX FULL4
  IiEmitOpcode 0x51
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.mem:
.xmm.xmm.xmm:
  IiEmitPrefix EVEX.128.F2.0F38.W0
  RET
.ymm.ymm.mem:
.ymm.ymm.ymm:
  IiEmitPrefix EVEX.256.F2.0F38.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.F2.0F38.W0
  RET
 ENDP IihVPDPBSSDS::
↑ VPDPBSUD
Multiply BYTEs and accumulate results to DWORD.
Reference
EVEX.512.F3.0F38.W0 50 /r
VPDPBSUD zmm1{k1}{z}, zmm2, zmm3/m512/m32bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t5912
IihVPDPBSUD:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting DWORD
  IiDisp8EVEX FULL4
  IiEmitOpcode 0x50
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.mem:
.xmm.xmm.xmm:
  IiEmitPrefix EVEX.128.F3.0F38.W0
  RET
.ymm.ymm.mem:
.ymm.ymm.ymm:
  IiEmitPrefix EVEX.256.F3.0F38.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.F3.0F38.W0
  RET
 ENDP IihVPDPBSUD::
↑ VPDPBSUDS
Multiply BYTEs and accumulate results to DWORD.
Reference
EVEX.512.F3.0F38.W0 51 /r
VPDPBSUDS zmm1{k1}{z}, zmm2, zmm3/m512/m32bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t5912
IihVPDPBSUDS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting DWORD
  IiDisp8EVEX FULL4
  IiEmitOpcode 0x51
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.mem:
.xmm.xmm.xmm:
  IiEmitPrefix EVEX.128.F3.0F38.W0
  RET
.ymm.ymm.mem:
.ymm.ymm.ymm:
  IiEmitPrefix EVEX.256.F3.0F38.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.F3.0F38.W0
  RET
 ENDP IihVPDPBSUDS::
↑ VPDPBUUD
Multiply BYTEs and accumulate results to DWORD.
Reference
EVEX.512.NP.0F38.W0 50 /r
VPDPBUUD zmm1{k1}{z}, zmm2, zmm3/m512/m32bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t5912
IihVPDPBUUD:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting DWORD
  IiDisp8EVEX FULL4
  IiEmitOpcode 0x50
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.mem:
.xmm.xmm.xmm:
  IiEmitPrefix EVEX.128.NP.0F38.W0
  RET
.ymm.ymm.mem:
.ymm.ymm.ymm:
  IiEmitPrefix EVEX.256.NP.0F38.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.NP.0F38.W0
  RET
 ENDP IihVPDPBUUD::
↑ VPDPBUUDS
Multiply BYTEs and accumulate results to DWORD.
Reference
EVEX.512.NP.0F38.W0 51 /r
VPDPBUUDS zmm1{k1}{z}, zmm2, zmm3/m512/m32bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t5912
IihVPDPBUUDS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting DWORD
  IiDisp8EVEX FULL4
  IiEmitOpcode 0x51
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.mem:
.xmm.xmm.xmm:
  IiEmitPrefix EVEX.128.NP.0F38.W0
  RET
.ymm.ymm.mem:
.ymm.ymm.ymm:
  IiEmitPrefix EVEX.256.NP.0F38.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.NP.0F38.W0
  RET
 ENDP IihVPDPBUUDS::
↑ VPDPWSUD
Multiply WORDs and accumulate results to DWORD.
Reference
EVEX.512.F3.0F38.W0 D2 /r
VPDPWSUD zmm1{k1}{z}, zmm2, zmm3/m512/m32bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t5914
IihVPDPWSUD:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting DWORD
  IiDisp8EVEX FULL4
  IiEmitOpcode 0xD2
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.mem:
.xmm.xmm.xmm:
  IiEmitPrefix EVEX.128.F3.0F38.W0
  RET
.ymm.ymm.mem:
.ymm.ymm.ymm:
  IiEmitPrefix EVEX.256.F3.0F38.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.F3.0F38.W0
  RET
 ENDP IihVPDPWSUD::
↑ VPDPWSUDS
Multiply WORDs and accumulate results to DWORD.
Reference
EVEX.512.F3.0F38.W0 D3 /r
VPDPWSUDS zmm1{k1}{z}, zmm2, zmm3/m512/m32bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t5914
IihVPDPWSUDS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting DWORD
  IiDisp8EVEX FULL4
  IiEmitOpcode 0xD3
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.mem:
.xmm.xmm.xmm:
  IiEmitPrefix EVEX.128.F3.0F38.W0
  RET
.ymm.ymm.mem:
.ymm.ymm.ymm:
  IiEmitPrefix EVEX.256.F3.0F38.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.F3.0F38.W0
  RET
 ENDP IihVPDPWSUDS::
↑ VPDPWUSD
Multiply WORDs and accumulate results to DWORD.
Reference
EVEX.512.66.0F38.W0 D2 /r
VPDPWUSD zmm1{k1}{z}, zmm2, zmm3/m512/m32bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t5914
IihVPDPWUSD:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting DWORD
  IiDisp8EVEX FULL4
  IiEmitOpcode 0xD2
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.mem:
.xmm.xmm.xmm:
  IiEmitPrefix EVEX.128.66.0F38.W0
  RET
.ymm.ymm.mem:
.ymm.ymm.ymm:
  IiEmitPrefix EVEX.256.66.0F38.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.66.0F38.W0
  RET
 ENDP IihVPDPWUSD::
↑ VPDPWUSDS
Multiply WORDs and accumulate results to DWORD.
Reference
EVEX.512.66.0F38.W0 D3 /r
VPDPWUSDS zmm1{k1}{z}, zmm2, zmm3/m512/m32bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t5914
IihVPDPWUSDS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting DWORD
  IiDisp8EVEX FULL4
  IiEmitOpcode 0xD3
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.mem:
.xmm.xmm.xmm:
  IiEmitPrefix EVEX.128.66.0F38.W0
  RET
.ymm.ymm.mem:
.ymm.ymm.ymm:
  IiEmitPrefix EVEX.256.66.0F38.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.66.0F38.W0
  RET
 ENDP IihVPDPWUSDS::
↑ VPDPWUUD
Multiply WORDs and accumulate results to DWORD.
Reference
EVEX.512.NP.0F38.W0 D2 /r
VPDPWUUD zmm1{k1}{z}, zmm2, zmm3/m512/m32bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t5914
IihVPDPWUUD:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting DWORD
  IiDisp8EVEX FULL4
  IiEmitOpcode 0xD2
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.mem:
.xmm.xmm.xmm:
  IiEmitPrefix EVEX.128.NP.0F38.W0
  RET
.ymm.ymm.mem:
.ymm.ymm.ymm:
  IiEmitPrefix EVEX.256.NP.0F38.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.NP.0F38.W0
  RET
 ENDP IihVPDPWUUD::
↑ VPDPWUUDS
Multiply WORDs and accumulate results to DWORD.
Reference
EVEX.512.NP.0F38.W0 D3 /r
VPDPWUUDS zmm1{k1}{z}, zmm2, zmm3/m512/m32bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t5914
IihVPDPWUUDS:: PROC
  IiRequire AVX10
  IiAllowBroadcasting DWORD
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiEmitOpcode 0xD3
  IiDisp8EVEX FULL4
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.mem:
.xmm.xmm.xmm:
  IiEmitPrefix EVEX.128.NP.0F38.W0
  RET
.ymm.ymm.mem:
.ymm.ymm.ymm:
  IiEmitPrefix EVEX.256.NP.0F38.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.NP.0F38.W0
  RET
 ENDP IihVPDPWUUDS::
↑ VRCPBF16
Compute reciprocals of packed 8|16|32 BF16.
Reference
EVEX.512.NP.MAP6.W0 4C /r
VRCPBF16 zmm1{k1}{z}, zmm2/m512/m16bcst
FULL MODRM.REG(w) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5657
IihVRCPBF16:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x4C
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.mem:
.xmm.xmm:
  IiEmitPrefix EVEX.128.NP.MAP6.W0
  RET
.ymm.mem:
.ymm.ymm:
  IiEmitPrefix EVEX.256.NP.MAP6.W0
  RET
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP6.W0
  RET
 ENDP IihVRCPBF16::
↑ VREDUCEBF16
Extract the reduced argument of BF16.
Reference
EVEX.512.F2.0F3A.W0 56 /r /ib
VREDUCEBF16 zmm1{k1}{z}, zmm2/m512/m16bcst, imm8
FULL MODRM.REG(w) MODRM.R/M(r) IMM8(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t5719
IihVREDUCEBF16:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,IMM,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x56
  IiEmitImm Operand3, BYTE
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm.imm, xmm.mem.imm, ymm.ymm.imm, ymm.mem.imm, zmm.zmm.imm, zmm.mem.imm
.xmm.xmm.imm:
.xmm.mem.imm:
  IiEmitPrefix EVEX.128.F2.0F3A.W0
  RET
.ymm.ymm.imm:
.ymm.mem.imm:
  IiEmitPrefix EVEX.256.F2.0F3A.W0
  RET
.zmm.zmm.imm:
.zmm.mem.imm:
  IiEmitPrefix EVEX.512.F2.0F3A.W0
  RET
 ENDP IihVREDUCEBF16::
↑ VRNDSCALEBF16
Round BF16.
Reference
EVEX.512.F2.0F3A.W0 08 /r /ib
VRNDSCALEBF16 zmm1{k1}{z}, zmm2/m512/m16bcst, imm8
FULL MODRM.REG(w) MODRM.R/M(r) IMM8(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t5719
IihVRNDSCALEBF16:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,IMM,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x08
  IiEmitImm Operand3, BYTE
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm.imm, xmm.mem.imm, ymm.ymm.imm, ymm.mem.imm, zmm.zmm.imm, zmm.mem.imm
.xmm.xmm.imm:
.xmm.mem.imm:
  IiEmitPrefix EVEX.128.F2.0F3A.W0
  RET
.ymm.ymm.imm:
.ymm.mem.imm:
  IiEmitPrefix EVEX.256.F2.0F3A.W0
  RET
.zmm.zmm.imm:
.zmm.mem.imm:
  IiEmitPrefix EVEX.512.F2.0F3A.W0
  RET
 ENDP IihVRNDSCALEBF16::
↑ VSCALEFBF16
Perform FP scale of packed BF16 in Operand2 by 2 power of BF16 in Operand3.
Reference
EVEX.512.NP.MAP6.W0 2C /r
VSCALEFBF16 zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
IihVSCALEFBF16:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x2C
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.mem:
.xmm.xmm.xmm:
  IiEmitPrefix EVEX.128.NP.MAP6.W0
  RET
.ymm.ymm.mem:
.ymm.ymm.ymm:
  IiEmitPrefix EVEX.256.NP.MAP6.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP6.W0
  RET
 ENDP IihVSCALEFBF16::
↑ VRSQRTBF16
Reciprocals square-root of packed BF16.
Reference
EVEX.512.NP.MAP6.W0 4E /r
VRSQRTBF16 zmm1{k1}{z}, zmm2/m512/m16bcst
SCALAR MODRM.REG(r) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5653
IihVRSQRTBF16:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x4E
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.xmm:
.xmm.mem:
 IiEmitPrefix EVEX.128.NP.MAP6.W0
.ymm.ymm:
.ymm.mem:
 IiEmitPrefix EVEX.256.NP.MAP6.W0
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP6.W0
  RET
 ENDP IihVRSQRTBF16::
↑ VSQRTBF16
Square-root of packed BF16.
Reference
EVEX.512.66.MAP5.W0 51 /r
VSQRTBF16 zmm1{k1}{z}, zmm2/m512/m16bcst
SCALAR MODRM.REG(r) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5653
IihVSQRTBF16:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x51
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.xmm:
.xmm.mem:
 IiEmitPrefix EVEX.128.66.MAP5.W0
.ymm.ymm:
.ymm.mem:
 IiEmitPrefix EVEX.256.66.MAP5.W0
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP5.W0
  RET
 ENDP IihVSQRTBF16::
↑ VSUBBF16
Subtract packed BF16 values.
Reference
EVEX.512.66.MAP5.W0 5C /r
VSUBBF16 zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.2]
Tested by
t5211
IihVSUBBF16:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x5C
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.mem:
.xmm.xmm.xmm:
  IiEmitPrefix EVEX.128.66.MAP5.W0
  RET
.ymm.ymm.mem:
.ymm.ymm.ymm:
  IiEmitPrefix EVEX.256.66.MAP5.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP5.W0
  RET
 ENDP IihVSUBBF16::
↑ VUCOMXSD
Unordered compare scalar FP64 values to ZF,PF,CF.
Reference
EVEX.LLIG.F2.0F.W1 2E /r
VUCOMXSD xmm1, xmm2/m64{sae}
SCALAR MODRM.REG(r) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5269
IihVUCOMXSD:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,SAE
  IiAllowSuppressing Register=xmm, Swizzle=off
  IiDisp8EVEX SCALAR8
  IiEmitOpcode 0x2E
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.xmm:
.xmm.mem:
.ymm.ymm:
.ymm.mem:
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.LLIG.F2.0F.W1
  RET
 ENDP IihVUCOMXSD::
↑ VUCOMXSH
Unordered compare scalar FP16 values to ZF,PF,CF.
Reference
EVEX.LLIG.F3.MAP5.W0 2E /r
VUCOMXSH xmm1, xmm2/m16{sae}
SCALAR MODRM.REG(r) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5269
IihVUCOMXSH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,SAE
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0x2E
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.LLIG.F3.MAP5.W0
  RET
 ENDP IihVUCOMXSH::
↑ VUCOMXSS
Unordered compare FP32 values to ZF,PF,CF.
Reference
EVEX.LLIG.F3.0F.W0 2E /r
VUCOMXSS xmm1, xmm2/m32{sae}
SCALAR MODRM.REG(r) MODRM.R/M(r) N/A N/A
Documentation
[IntelAVX10.2]
Tested by
t5269
IihVUCOMXSS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,SAE
  IiAllowSuppressing Register=xmm, Swizzle=off
  IiDisp8EVEX SCALAR4
  IiEmitOpcode 0x2E
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.xmm:
.xmm.mem:
.ymm.ymm:
.ymm.mem:
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.LLIG.F3.0F.W0
  RET
 ENDP IihVUCOMXSS::
↑ VADDPH
Add packed FP16 values.
Reference
EVEX.512.NP.MAP5.W0 58 /r
VADDPH zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst{er}
FULL MODRM.REG(w) VVVV(r) MODRM.R/M(r) N/A
Documentation
[IntelAVX10.1]
Tested by
t5211
IihVADDPH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING,ROUND
  IiAllowBroadcasting WORD
  IiAllowRounding Register=zmm
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x58
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.mem:
.xmm.xmm.xmm:
  IiEmitPrefix EVEX.128.NP.MAP5.W0
  RET
.ymm.ymm.mem:
.ymm.ymm.ymm:
  IiEmitPrefix EVEX.256.NP.MAP5.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP5.W0
  RET
 ENDP IihVADDPH::
↑ VADDSH
Add scalar FP16 value.
Reference
EVEX.LLIG.F3.MAP5.W0 58 /r
VADDSH xmm1{k1}{z}, xmm2, xmm3/m16 {er}
Scalar ModRM:reg (w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t5211
IihVADDSH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,ROUND
  IiAllowRounding Operand=DL, Register=xmm
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0x58
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.mem:
.xmm.xmm.xmm:
  IiEmitPrefix EVEX.LLIG.F3.MAP5.W0
  RET
 ENDP IihVADDSH::
↑ VBCSTNEBF162PS
Load one BF16 Element from memory and Convert to FP32 Element With Broadcast.
Reference
VEX.128.F3.0F38.W0 B1 !(11):rrr:bbb
VBCSTNEBF162PS xmm1, m16
VEX.256.F3.0F38.W0 B1 !(11):rrr:bbb
VBCSTNEBF162PS ymm1, m16
N/A ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5248
IihVBCSTNEBF162PS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA
  IiEmitOpcode 0xB1
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.mem, ymm.mem
.xmm.mem:
  IiEmitPrefix VEX.128.F3.0F38.W0
  RET
.ymm.mem:
  IiEmitPrefix VEX.256.F3.0F38.W0
  RET
 ENDP IihVBCSTNEBF162PS::
↑ VBCSTNESH2PS
Load one BF16 Element from memory and Convert to FP32 Element With Broadcast.
Reference
VEX.128.66.0F38.W0 B1 !(11):rrr:bbb
VBCSTNESH2PS xmm1, m16
VEX.256.66.0F38.W0 B1 !(11):rrr:bbb
VBCSTNESH2PS ymm1, m16
N/A ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5248
IihVBCSTNESH2PS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA
  IiEmitOpcode 0xB1
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.mem, ymm.mem
.xmm.mem:
  IiEmitPrefix VEX.128.66.0F38.W0
  RET
.ymm.mem:
  IiEmitPrefix VEX.256.66.0F38.W0
  RET
 ENDP IihVBCSTNESH2PS::
↑ VCMPPH
Compare packed FP16 values.
Reference
EVEX.512.NP.0F3A.W0 C2 /r /ib
VCMPPH k1{k2}, zmm2, zmm3/m512/m16bcst {sae}, imm8
Full ModRM:reg (w) VEX.vvvv (r) ModRM:r/m (r) imm8 (r)
Documentation
[IntelAVX10.1]
Tested by
t5263
IihVCMPPH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,IMM,MASK,SAE,BCST
  IiAllowSuppressing Operand=DH, Swizzle=off
  IiAllowBroadcasting WORD, Operand=DH
  IiDisp8EVEX FULL2
  IiEmitOpcode 0xC2
  IiOpEn RVM
  IiModRM /r
  IiEmitImm Operand4, BYTE
  IiDispatchFormat krg.xmm.xmm.imm, krg.xmm.mem.imm, krg.ymm.ymm.imm, krg.ymm.mem.imm, krg.zmm.zmm.imm, krg.zmm.mem.imm
.krg.xmm.xmm.imm:
.krg.xmm.mem.imm:
  IiEmitPrefix EVEX.128.NP.0F3A.W0
  RET
.krg.ymm.ymm.imm:
.krg.ymm.mem.imm:
  IiEmitPrefix EVEX.256.NP.0F3A.W0
  RET
.krg.zmm.zmm.imm:
.krg.zmm.mem.imm:
  IiEmitPrefix EVEX.512.NP.0F3A.W0
  RET
 ENDP IihVCMPPH::
↑ VCMPSH
Compare scalar FP16 values.
Reference
EVEX.LLIG.F3.0F3A.W0 C2 /r /ib
VCMPSH k1{k2}, xmm2, xmm3/m16{sae}, imm8
Scalar ModRM:reg (w) VEX.vvvv (r) ModRM:r/m (r) imm8 (r)
Documentation
[IntelAVX10.1]
Tested by
t5263
IihVCMPSH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,IMM,MASK,SAE
  IiAllowSuppressing Operand=DH, Swizzle=off
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0xC2
  IiOpEn RVM
  IiModRM /r
  IiEmitImm Operand4, BYTE
  IiDispatchFormat krg.xmm.xmm.imm, krg.xmm.mem.imm
.krg.xmm.xmm.imm:
.krg.xmm.mem.imm:
  IiEmitPrefix EVEX.LLIG.F3.0F3A.W0
  RET
 ENDP IihVCMPSH::
↑ VCOMISH
Compare scalar ordered FP16 values to EFLAGS.
Reference
EVEX.LLIG.NP.MAP5.W0 2F /r
VCOMISH xmm1, xmm2/m16 {sae}
Scalar ModRM:reg (r) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5268
IihVCOMISH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,SAE
  IiAllowSuppressing Operand=DL, Swizzle=off
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0x2F
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.xmm:
.xmm.mem:
.ymm.ymm:
.ymm.mem:
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.LLIG.NP.MAP5.W0
  RET
 ENDP IihVCOMISH::
↑ VPCOMPRESSB
Compress packed BYTE values.
Reference
EVEX.512.66.0F38.W0 63 /r
VPCOMPRESSB zmm1/m512{k1}{z}, zmm2
Tuple1 Scalar ModRM:r/m (w) ModRM:reg (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5272
IihVPCOMPRESSB:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING
  IiDisp8EVEX SCALAR1
  IiEmitOpcode 0x63
  IiOpEn MR
  IiModRM /r
  IiDispatchFormat xmm.xmm, mem.xmm, ymm.ymm, mem.ymm, zmm.zmm, mem.zmm
.xmm.xmm:
.mem.xmm:
  IiEmitPrefix EVEX.128.66.0F38.W0
  RET
.ymm.ymm:
.mem.ymm:
  IiEmitPrefix EVEX.256.66.0F38.W0
  RET
.zmm.zmm:
.mem.zmm:
  IiEmitPrefix EVEX.512.66.0F38.W0
  RET
 ENDP IihVPCOMPRESSB::
↑ VPCOMPRESSW
Compress packet WORD values.
Reference
EVEX.512.66.0F38.W1 63 /r
VPCOMPRESSW zmm1/m512{k1}{z}, zmm2
Tuple1 Scalar ModRM:r/m (w) ModRM:reg (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5272
IihVPCOMPRESSW:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0x63
  IiOpEn MR
  IiModRM /r
  IiDispatchFormat xmm.xmm, mem.xmm, ymm.ymm, mem.ymm, zmm.zmm, mem.zmm
.xmm.xmm:
.mem.xmm:
  IiEmitPrefix EVEX.128.66.0F38.W1
  RET
.ymm.ymm:
.mem.ymm:
  IiEmitPrefix EVEX.256.66.0F38.W1
  RET
.zmm.zmm:
.mem.zmm:
  IiEmitPrefix EVEX.512.66.0F38.W1
  RET
 ENDP IihVPCOMPRESSW::
↑ VCVTDQ2PH
Convert Packed Signed Doubleword Integers to Packed FP16 Values.
Reference
EVEX.512.NP.MAP5.W0 5B /r
VCVTDQ2PH ymm1{k1}{z}, zmm2/m512/m32bcst {er}
Full ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5221
IihVCVTDQ2PH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,ROUND
  IiAllowRounding
  IiAllowBroadcasting DWORD
  IiDisp8EVEX FULL4
  IiEmitOpcode 0x5B
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, xmm.ymm, xmm.mem, ymm.zmm, ymm.mem
.xmm.mem:
  IiDispatchData OWORD=.xmm.xmm:, YWORD=.xmm.ymm:
  RET
.xmm.xmm:
  IiEmitPrefix EVEX.128.NP.MAP5.W0
  RET
.xmm.ymm:
  IiEmitPrefix EVEX.256.NP.MAP5.W0
  RET
.ymm.zmm:
.ymm.mem:
  IiEmitPrefix EVEX.512.NP.MAP5.W0
  RET
 ENDP IihVCVTDQ2PH::
↑ VCVTNE2PS2BF16
Convert Two Packed Single Data to One Packed BF16 Data.
Reference
EVEX.512.F2.0F38.W0 72 /r
VCVTNE2PS2BF16 zmm1{k1}{z}, zmm2, zmm3/m512/m32bcst
Full ModRM:reg (w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t5223
IihVCVTNE2PS2BF16:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,ZEROING,MASK
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x72
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.F2.0F38.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.F2.0F38.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.F2.0F38.W0
  RET
 ENDP IihVCVTNE2PS2BF16::
↑ VCVTNEEBF162PS
Convert Even Elements of Packed BF16 Values to FP32 Values.
Reference
VEX.256.F3.0F38.W0 B0 !(11):rrr:bbb
VCVTNEEBF162PS ymm1, m256
N/A ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5223
IihVCVTNEEBF162PS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA
  IiEmitOpcode 0xB0
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.mem, ymm.mem
.xmm.mem:
  IiEmitPrefix VEX.128.F3.0F38.W0
  RET
.ymm.mem:
  IiEmitPrefix VEX.256.F3.0F38.W0
  RET
 ENDP IihVCVTNEEBF162PS::
↑ VCVTNEOBF162PS
Convert Odd Elements of Packed BF16 Values to FP32 Values.
Reference
VEX.256.F2.0F38.W0 B0 !(11):rrr:bbb
VCVTNEOBF162PS ymm1, m256
N/A ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5223
IihVCVTNEOBF162PS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA
  IiEmitOpcode 0xB0
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.mem, ymm.mem
.xmm.mem:
  IiEmitPrefix VEX.128.F2.0F38.W0
  RET
.ymm.mem:
  IiEmitPrefix VEX.256.F2.0F38.W0
  RET
 ENDP IihVCVTNEOBF162PS::
↑ VCVTNEEPH2PS
Convert Even Elements of Packed FP16 Values to FP32 Values.
Reference
VEX.256.66.0F38.W0 B0 !(11):rrr:bbb
VCVTNEEPH2PS ymm1, m256
N/A ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5223
IihVCVTNEEPH2PS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA
  IiEmitOpcode 0xB0
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.mem, ymm.mem
.xmm.mem:
  IiEmitPrefix VEX.128.66.0F38.W0
  RET
.ymm.mem:
  IiEmitPrefix VEX.256.66.0F38.W0
  RET
 ENDP IihVCVTNEEPH2PS::
↑ VCVTNEOPH2PS
Convert Odd Elements of Packed FP16 Values to FP32 Values.
Reference
VEX.256.NP.0F38.W0 B0 !(11):rrr:bbb
VCVTNEOPH2PS ymm1, m256
N/A ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5223
IihVCVTNEOPH2PS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA
  IiEmitOpcode 0xB0
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.mem, ymm.mem
.xmm.mem:
  IiEmitPrefix VEX.128.NP.0F38.W0
  RET
.ymm.mem:
  IiEmitPrefix VEX.256.NP.0F38.W0
  RET
 ENDP IihVCVTNEOPH2PS::
↑ VCVTNEPS2BF16
Convert Packed Single Data to Packed BF16 Data.
Reference
VEX.256.F3.0F38.W0 72 /r
EVEX.512.F3.0F38.W0 72 /r
VCVTNEPS2BF16 ymm1{k1}{z}, zmm2/m512/m32bcst
Full ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5223
IihVCVTNEPS2BF16:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST
  IiAllowBroadcasting DWORD
  IiDisp8EVEX FULL4
  IiEmitOpcode 0x72
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, xmm.ymm, ymm.mem, ymm.zmm
.xmm.mem:
  IiDispatchData OWORD=.xmm.xmm:, YWORD=.xmm.ymm:
  IiAbort '6730' ; Operand size could not be determined, please use DATA= modifier.
.xmm.xmm:
  IiEmitPrefix VEX.128.F3.0F38.W0, EVEX.128.F3.0F38.W0
  RET
.xmm.ymm:
  IiEmitPrefix VEX.256.F3.0F38.W0, EVEX.256.F3.0F38.W0
  RET
.ymm.zmm:
.ymm.mem:
  IiEmitPrefix EVEX.512.F3.0F38.W0
  RET
 ENDP IihVCVTNEPS2BF16::
↑ VCVTPD2PH
Convert Packed Double Precision FP Values to Packed FP16 Values.
Reference
EVEX.512.66.MAP5.W1 5A /r
VCVTPD2PH xmm1{k1}{z}, zmm2/m512/m64bcst {er}
Full ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5225
IihVCVTPD2PH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST,MASK,ZEROING,ROUND
  IiAllowBroadcasting QWORD
  IiDisp8EVEX FULL8
  IiEmitOpcode 0x5A
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.ymm, xmm.zmm, xmm.mem
.xmm.mem:
  IiDispatchData OWORD=.xmm.xmm:, YWORD=.xmm.ymm:, ZWORD=.xmm.zmm:
  IiAbort '6730' ; Operand size could not be determined, please use DATA= modifier.
.xmm.xmm:
  IiEncoding DATA=OWORD
  IiEmitPrefix EVEX.128.66.MAP5.W1
  RET
.xmm.ymm:
  IiEncoding DATA=YWORD
  IiEmitPrefix EVEX.256.66.MAP5.W1
  RET
.xmm.zmm:
  IiEncoding DATA=ZWORD
  IiEmitPrefix EVEX.512.66.MAP5.W1
  RET
 ENDP IihVCVTPD2PH::
↑ VCVTPH2DQ
Convert Packed FP16 Values to Signed Doubleword Integers.
Reference
EVEX.512.66.MAP5.W0 5B /r
VCVTPH2DQ zmm1{k1}{z}, ymm2/m256/m16bcst {er}
Half ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5227
IihVCVTPH2DQ:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowBroadcasting WORD
  IiAllowRounding Operand=DL, Register=ymm
  IiDisp8EVEX HALF2
  IiEmitOpcode 0x5B
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.xmm, ymm.mem, zmm.ymm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.66.MAP5.W0
  RET
.ymm.xmm:
.ymm.mem:
  IiEmitPrefix EVEX.256.66.MAP5.W0
  RET
.zmm.ymm:
.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP5.W0
  RET
 ENDP IihVCVTPH2DQ::
↑ VCVTPH2PD
Convert Packed FP16 Values to FP64 Values.
Reference
EVEX.512.NP.MAP5.W0 5A /r
VCVTPH2PD zmm1{k1}{z}, xmm2/m128/m16bcst {sae}
Quarter ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5227
IihVCVTPH2PD:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,SAE
  IiAllowBroadcasting WORD
  IiDisp8EVEX QUARTER2
  IiEmitOpcode 0x5A
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.xmm, ymm.mem, zmm.xmm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP5.W0
  RET
.ymm.xmm:
.ymm.mem:
  IiEmitPrefix EVEX.256.NP.MAP5.W0
  RET
.zmm.xmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP5.W0
  RET
 ENDP IihVCVTPH2PD::
↑ VCVTPH2PSX
Convert Packed FP16 Values to Single Precision Floating-Point Values.
Reference
EVEX.512.66.MAP6.W0 13 /r
VCVTPH2PSX zmm1{k1}{z}, ymm2/m256 {sae}
Half ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5227
IihVCVTPH2PSX:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,SAE
  IiDisp8EVEX HALF2
  IiEmitOpcode 0x13
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.xmm, ymm.mem, zmm.ymm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.66.MAP6.W0
  RET
.ymm.xmm:
.ymm.mem:
  IiEmitPrefix EVEX.256.66.MAP6.W0
  RET
.zmm.ymm:
.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP6.W0
  RET
 ENDP IihVCVTPH2PSX::
↑ VCVTPH2QQ
Convert Packed FP16 Values to Signed Quadword Integer Values.
Reference
EVEX.512.66.MAP5.W0 7B /r
VCVTPH2QQ zmm1{k1}{z}, xmm2/m128/m16bcst {er}
Quarter ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5229
IihVCVTPH2QQ:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding Operand=DH, Register=zmm
  IiAllowBroadcasting WORD
  IiDisp8EVEX QUARTER2
  IiEmitOpcode 0x7B
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.xmm, ymm.mem, zmm.xmm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.66.MAP5.W0
  RET
.ymm.xmm:
.ymm.mem:
  IiEmitPrefix EVEX.256.66.MAP5.W0
  RET
.zmm.xmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP5.W0
  RET
 ENDP IihVCVTPH2QQ::
↑ VCVTPH2UQQ
Convert Packed FP16 Values to Unsigned Quadword Integers.
Reference
EVEX.512.66.MAP5.W0 79 /r
VCVTPH2UQQ zmm1{k1}{z}, xmm2/m128/m16bcst {er}
Quarter ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5229
IihVCVTPH2UQQ:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowBroadcasting WORD
  IiAllowRounding Operand=DH, Register=zmm
  IiDisp8EVEX QUARTER2
  IiEmitOpcode 0x79
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.xmm, ymm.mem, zmm.xmm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.66.MAP5.W0
  RET
.ymm.xmm:
.ymm.mem:
  IiEmitPrefix EVEX.256.66.MAP5.W0
  RET
.zmm.xmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP5.W0
  RET
 ENDP IihVCVTPH2UQQ::
↑ VCVTPH2UDQ
Convert Packed FP16 Values to Unsigned Doubleword Integers.
Reference
EVEX.512.NP.MAP5.W0 79 /r
VCVTPH2UDQ zmm1{k1}{z}, ymm2/m256/m16bcst {er}
Half ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5229
IihVCVTPH2UDQ:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding Operand=DH, Register=zmm
  IiAllowBroadcasting WORD
  IiDisp8EVEX HALF2
  IiEmitOpcode 0x79
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.xmm, ymm.mem, zmm.ymm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP5.W0
  RET
.ymm.xmm:
.ymm.mem:
  IiEmitPrefix EVEX.256.NP.MAP5.W0
  RET
.zmm.ymm:
.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP5.W0
  RET
 ENDP IihVCVTPH2UDQ::
↑ VCVTPH2UW
Convert Packed FP16 Values to Unsigned Word Integers.
Reference
EVEX.512.NP.MAP5.W0 7D /r
VCVTPH2UW zmm1{k1}{z}, zmm2/m512/m16bcst {er}
Full ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5229
IihVCVTPH2UW:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding Operand=DL, Register=zmm
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x7D
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP5.W0
  RET
.ymm.ymm:
.ymm.mem:
  IiEmitPrefix EVEX.256.NP.MAP5.W0
  RET
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP5.W0
  RET
 ENDP IihVCVTPH2UW::
↑ VCVTPH2W
Convert Packed FP16 Values to Signed Word Integers.
Reference
EVEX.512.66.MAP5.W0 7D /r
VCVTPH2W zmm1{k1}{z}, zmm2/m512/m16bcst {er}
Full ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5229
IihVCVTPH2W:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x7D
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.66.MAP5.W0
  RET
.ymm.ymm:
.ymm.mem:
  IiEmitPrefix EVEX.256.66.MAP5.W0
  RET
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP5.W0
  RET
 ENDP IihVCVTPH2W::
↑ VCVTPS2PHX
Convert Packed Single Precision Floating-Point Values to Packed FP16 Values.
Reference
EVEX.512.66.MAP5.W0 1D /r
VCVTPS2PHX ymm1{k1}{z}, zmm2/m512/m32bcst {er}
Full ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5229
IihVCVTPS2PHX:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding Operand=DL, Register=zmm
  IiAllowBroadcasting DWORD
  IiDisp8EVEX FULL4
  IiEmitOpcode 0x1D
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, xmm.ymm, ymm.mem, ymm.zmm
.xmm.mem:
  IiDispatchData OWORD=.xmm.xmm:, YWORD=.xmm.ymm:
  IiAbort '6730' ; Operand size could not be determined, please use DATA= modifier.
.xmm.xmm:
  IiEmitPrefix EVEX.128.66.MAP5.W0
  RET
.xmm.ymm:
  IiEmitPrefix EVEX.256.66.MAP5.W0
  RET
.ymm.zmm:
.ymm.mem:
  IiEmitPrefix EVEX.512.66.MAP5.W0
  RET
 ENDP IihVCVTPS2PHX::
↑ VCVTQQ2PH
Convert Packed Signed Quadword Integers to Packed FP16 Values.
Reference
EVEX.512.NP.MAP5.W1 5B /r
VCVTQQ2PH xmm1{k1}{z}, zmm2/m512/m64bcst {er}
Full ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5231
IihVCVTQQ2PH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding Operand=DL, Register=zmm
  IiAllowBroadcasting QWORD
  IiDisp8EVEX FULL8
  IiEmitOpcode 0x5B
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.mem, xmm.xmm, xmm.ymm, xmm.zmm
.xmm.mem:
  IiDispatchData OWORD=.xmm.xmm:, YWORD=.xmm.ymm:, ZWORD=.xmm.zmm:
  IiAbort '6730' ; Operand size could not be determined, please use DATA= modifier.
.xmm.xmm:
  IiEmitPrefix EVEX.128.NP.MAP5.W1
  RET
.xmm.ymm:
  IiEmitPrefix EVEX.256.NP.MAP5.W1
  RET
.xmm.zmm:
  IiEmitPrefix EVEX.512.NP.MAP5.W1
  RET
 ENDP IihVCVTQQ2PH::
↑ VCVTSD2SH
Convert Low FP64 Value to an FP16 Value.
Reference
EVEX.LLIG.F2.MAP5.W1 5A /r
VCVTSD2SH xmm1{k1}{z}, xmm2, xmm3/m64 {er}
Scalar ModRM:reg (w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t5231
IihVCVTSD2SH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,ROUND
  IiAllowRounding Operand=DL, Register=xmm
  IiDisp8EVEX SCALAR8
  IiEmitOpcode 0x5A
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.mem:
.xmm.xmm.xmm:
  IiEmitPrefix EVEX.LLIG.F2.MAP5.W1
  RET
 ENDP IihVCVTSD2SH::
↑ VCVTSH2SD
Convert Low FP16 Value to an FP64 Value.
Reference
EVEX.LLIG.F3.MAP5.W0 5A /r
VCVTSH2SD xmm1{k1}{z}, xmm2, xmm3/m16 {sae}
Scalar ModRM:reg (w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t5231
IihVCVTSH2SD:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,ROUND
  IiAllowRounding Operand=DL, Register=xmm
  IiDisp8EVEX SCALAR8
  IiEmitOpcode 0x5A
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.mem:
.xmm.xmm.xmm:
  IiEmitPrefix EVEX.LLIG.F3.MAP5.W0
  RET
 ENDP IihVCVTSH2SD::
↑ VCVTSI2SH
Convert a Signed Doubleword/Quadword Integer to an FP16 Value.
Reference
EVEX.LLIG.F3.MAP5.W0 2A /r
VCVTSI2SH xmm1, xmm2, r32/m32{er}
EVEX.LLIG.F3.MAP5.W1 2A /r
VCVTSI2SH xmm1, xmm2, r64/m64{er
Scalar ModRM:reg (w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t5231
IihVCVTSI2SH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,ROUND
  IiEmitOpcode 0x2A
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.r32, xmm.xmm.r64, xmm.xmm.mem
.xmm.xmm.mem:
  IiDispatchData DWORD=.xmm.xmm.r32:, QWORD=.xmm.xmm.r64:
  IiAbort '6730' ; Operand size could not be determined, please use DATA= modifier.
.xmm.xmm.r32:
  IiEncoding DATA=DWORD
  IiDisp8EVEX SCALAR4
  IiEmitPrefix EVEX.LLIG.F3.MAP5.W0
  RET
.xmm.xmm.r64:
  IiEncoding DATA=QWORD
  IiDisp8EVEX SCALAR8
  IiEmitPrefix EVEX.LLIG.F3.MAP5.W1
  RET
 ENDP IihVCVTSI2SH::
↑ VCVTSH2SI
Convert Low FP16 Value to Signed Integer.
Reference
EVEX.LLIG.F3.MAP5.W0 2D /r
VCVTSH2SI r32, xmm1/m16 {er}
EVEX.LLIG.F3.MAP5.W1 2D /r
VCVTSH2SI r64, xmm1/m16 {er}
Scalar ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5231
IihVCVTSH2SI:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,ROUND
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0x2D
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat r32.xmm, r32.mem, r64.xmm, r64.mem
.r32.xmm:
.r32.mem:
  IiEncoding DATA=DWORD
  IiEmitPrefix EVEX.LLIG.F3.MAP5.W0
  RET
.r64.xmm:
.r64.mem:
  IiEncoding DATA=QWORD
  IiEmitPrefix EVEX.LLIG.F3.MAP5.W1
  RET
 ENDP IihVCVTSH2SI::
↑ VCVTSH2SS
Convert Low FP16 Value to FP32 Value.
Reference
EVEX.LLIG.NP.MAP6.W0 13 /r
VCVTSH2SS xmm1{k1}{z}, xmm2, xmm3/m16 {sae}
Scalar ModRM:reg (w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t5231
IihVCVTSH2SS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,SAE
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0x13
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.LLIG.NP.MAP6.W0
  RET
 ENDP IihVCVTSH2SS::
↑ VCVTSH2USI
Convert Low FP16 Value to Unsigned Integer.
Reference
EVEX.LLIG.F3.MAP5.W0 79 /r
VCVTSH2USI r32, xmm1/m16 {er}
EVEX.LLIG.F3.MAP5.W1 79 /r
VCVTSH2USI r64, xmm1/m16 {er}
Scalar ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5231
IihVCVTSH2USI:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,ROUND
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0x79
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat r32.xmm, r32.mem, r64.xmm, r64.mem
.r32.xmm:
.r32.mem:
  IiEncoding DATA=DWORD
  IiEmitPrefix EVEX.LLIG.F3.MAP5.W0
  RET
.r64.xmm:
.r64.mem:
  IiEncoding DATA=QWORD
  IiEmitPrefix EVEX.LLIG.F3.MAP5.W1
  RET
 ENDP IihVCVTSH2USI::
↑ VCVTSS2SH
Convert Low FP32 Value to an FP16 Value.
Reference
EVEX.LLIG.NP.MAP5.W0 1D /r
VCVTSS2SH xmm1{k1}{z}, xmm2, xmm3/m32 {er}
Scalar ModRM:reg (w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t5233
IihVCVTSS2SH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,ROUND
  IiAllowBroadcasting DWORD
  IiDisp8EVEX SCALAR4
  IiEmitOpcode 0x1D
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEncoding DATA=DWORD
  IiEmitPrefix EVEX.LLIG.NP.MAP5.W0
  RET
 ENDP IihVCVTSS2SH::
↑ VCVTSS2USI
Convert Scalar Single Precision Floating-Point Value to Unsigned Doubleword Integer.
Reference
EVEX.LLIG.F3.0F.W0 79 /r
VCVTSS2USI r32, xmm1/m32{er}
EVEX.LLIG.F3.0F.W1 79 /r
VCVTSS2USI r64, xmm1/m32{er}
Tuple1 Fixed ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5233
IihVCVTSS2USI:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,ROUND
  IiEmitOpcode 0x79
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat r32.xmm, r32.mem, r64.xmm, r64.mem
.r32.xmm:
.r32.mem:
  IiEncoding DATA=DWORD
  IiDisp8EVEX SCALAR4
  IiEmitPrefix EVEX.LLIG.F3.0F.W0
  RET
.r64.xmm:
.r64.mem:
  IiEncoding DATA=QWORD
  IiDisp8EVEX SCALAR8
  IiEmitPrefix EVEX.LLIG.F3.0F.W1
  RET
 ENDP IihVCVTSS2USI::
↑ VCVTTPH2DQ
Convert with Truncation Packed FP16 Values to Signed Doubleword Integers.
Reference
EVEX.512.F3.MAP5.W0 5B /r
VCVTTPH2DQ zmm1{k1}{z}, ymm2/m256/m16bcst {sae}
Half ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5235
IihVCVTTPH2DQ:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,SAE
  IiAllowBroadcasting WORD
  IiDisp8EVEX HALF2
  IiAllowSuppressing
  IiEmitOpcode 0x5B
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.xmm, ymm.mem, zmm.ymm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.F3.MAP5.W0
  IiEncoding DATA=QWORD
  RET
.ymm.xmm:
.ymm.mem:
  IiEmitPrefix EVEX.256.F3.MAP5.W0
  IiEncoding DATA=OWORD
  RET
.zmm.ymm:
.zmm.mem:
  IiEmitPrefix EVEX.512.F3.MAP5.W0
  IiEncoding DATA=YWORD
  RET
 ENDP IihVCVTTPH2DQ::
↑ VCVTTPH2UDQ
Convert with Truncation Packed FP16 Values to Unsigned Doubleword Integers.
Reference
EVEX.512.NP.MAP5.W0 78 /r
VCVTTPH2UDQ zmm1{k1}{z}, ymm2/m256/m16bcst {sae}
Half ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5235
IihVCVTTPH2UDQ:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,SAE
  IiAllowBroadcasting WORD
  IiDisp8EVEX HALF2
  IiAllowSuppressing
  IiEmitOpcode 0x78
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.xmm, ymm.mem, zmm.ymm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP5.W0
  IiEncoding DATA=DWORD
  RET
.ymm.xmm:
.ymm.mem:
  IiEmitPrefix EVEX.256.NP.MAP5.W0
  IiEncoding DATA=QWORD
  RET
.zmm.ymm:
.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP5.W0
  IiEncoding DATA=OWORD
  RET
 ENDP IihVCVTTPH2UDQ::
↑ VCVTTPH2QQ
Convert with Truncation Packed FP16 Values to Signed Quadword Integers.
Reference
EVEX.512.66.MAP5.W0 7A /r
VCVTTPH2QQ zmm1{k1}{z}, xmm2/m128/m16bcst {sae}
Quarter ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5235
IihVCVTTPH2QQ:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,SAE
  IiAllowBroadcasting WORD
  IiDisp8EVEX QUARTER2
  IiEmitOpcode 0x7A
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.xmm, ymm.mem, zmm.xmm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.66.MAP5.W0
  IiEncoding DATA=DWORD
  RET
.ymm.xmm:
.ymm.mem:
  IiEmitPrefix EVEX.256.66.MAP5.W0
  IiEncoding DATA=QWORD
  RET
.zmm.xmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP5.W0
  IiEncoding DATA=OWORD
  RET
 ENDP IihVCVTTPH2QQ::
↑ VCVTTPH2UQQ
Convert with Truncation Packed FP16 Values to Unsigned Quadword Integers.
Reference
EVEX.512.66.MAP5.W0 78 /r
VCVTTPH2UQQ zmm1{k1}{z}, xmm2/m128/m16bcst {sae}
Quarter ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5235
IihVCVTTPH2UQQ:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,SAE
  IiAllowSuppressing Operand=DH, Swizzle=no
  IiAllowBroadcasting WORD
  IiDisp8EVEX QUARTER2
  IiEmitOpcode 0x78
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.xmm, ymm.mem, zmm.xmm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.66.MAP5.W0
  IiEncoding DATA=DWORD
  RET
.ymm.xmm:
.ymm.mem:
  IiEmitPrefix EVEX.256.66.MAP5.W0
  IiEncoding DATA=QWORD
  RET
.zmm.xmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP5.W0
  IiEncoding DATA=OWORD
  RET
 ENDP IihVCVTTPH2UQQ::
↑ VCVTTPH2UW
Convert Packed FP16 Values to Unsigned Word Integers.
Reference
EVEX.512.NP.MAP5.W0 7C /r
VCVTTPH2UW zmm1{k1}{z}, zmm2/m512/m16bcst {sae}
Full ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5235
IihVCVTTPH2UW:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,SAE
  IiAllowSuppressing Operand=DH, Swizzle=no
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x7C
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP5.W0
  RET
.ymm.ymm:
.ymm.mem:
  IiEmitPrefix EVEX.256.NP.MAP5.W0
  RET
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP5.W0
  RET
 ENDP IihVCVTTPH2UW::
↑ VCVTTPH2W
Convert Packed FP16 Values to Signed Word Integers.
Reference
EVEX.512.66.MAP5.W0 7C /r
VCVTTPH2W zmm1{k1}{z}, zmm2/m512/m16bcst {sae}
Full ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5219
IihVCVTTPH2W:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,SAE
  IiAllowSuppressing Operand=DH, Swizzle=no
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x7C
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.66.MAP5.W0
  RET
.ymm.ymm:
.ymm.mem:
  IiEmitPrefix EVEX.256.66.MAP5.W0
  RET
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP5.W0
  RET
 ENDP IihVCVTTPH2W::
↑ VCVTTSH2SI
Convert with Truncation Low FP16 Value to a Signed Integer.
Reference
EVEX.LLIG.F3.MAP5.W0 2C /r
VCVTTSH2SI r32, xmm1/m16 {sae}
EVEX.LLIG.F3.MAP5.W1 2C /r
VCVTTSH2SI r64, xmm1/m16 {sae}
Scalar ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5219
IihVCVTTSH2SI:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,SAE
  IiAllowSuppressing Operand=DL, Swizzle=no
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0x2C
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat r32.xmm, r32.mem, r64.xmm, r64.mem
.r32.xmm:
.r32.mem:
  IiEmitPrefix EVEX.LLIG.F3.MAP5.W0
  RET
.r64.xmm:
.r64.mem:
  IiEmitPrefix EVEX.LLIG.F3.MAP5.W1
  RET
 ENDP IihVCVTTSH2SI::
↑ VCVTTSH2USI
Convert with Truncation Low FP16 Value to an Unsigned Integer.
Reference
EVEX.LLIG.F3.MAP5.W0 78 /r
VCVTTSH2USI r32, xmm1/m16 {sae}
EVEX.LLIG.F3.MAP5.W1 78 /r
VCVTTSH2USI r64, xmm1/m16 {sae}
Scalar ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5219
IihVCVTTSH2USI:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,SAE
  IiAllowSuppressing Operand=DL, Swizzle=no
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0x78
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat r32.xmm, r32.mem, r64.xmm, r64.mem
.r32.xmm:
.r32.mem:
  IiEmitPrefix EVEX.LLIG.F3.MAP5.W0
  RET
.r64.xmm:
.r64.mem:
  IiEmitPrefix EVEX.LLIG.F3.MAP5.W1
  RET
 ENDP IihVCVTTSH2USI::
↑ VCVTUSQ2PH
Convert Packed Unsigned Doubleword Integers to Packed FP16 Values.
Reference
EVEX.512.F2.MAP5.W0 7A /r
VCVTUDQ2PH ymm1{k1}{z}, zmm2/m512/m32bcst {er}
Full ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5219
IihVCVTUDQ2PH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding
  IiAllowBroadcasting DWORD
  IiDisp8EVEX FULL4
  IiEmitOpcode 0x7A
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, xmm.ymm, ymm.zmm, ymm.mem
.xmm.mem:
  IiDispatchData OWORD=.xmm.xmm:, YWORD=.xmm.ymm:
  IiAbort '6730' ; Operand size could not be determined, please use DATA= modifier.
.xmm.xmm:
  IiEmitPrefix EVEX.128.F2.MAP5.W0
  RET
.xmm.ymm
  IiEmitPrefix EVEX.256.F2.MAP5.W0
  RET
.ymm.zmm:
.ymm.mem:
  IiEmitPrefix EVEX.512.F2.MAP5.W0
  RET
 ENDP IihVCVTUDQ2PH::
↑ VCVTUSQ2PH
Convert Packed Unsigned Quadword Integers to Packed FP16 Values.
Reference
EVEX.512.F2.MAP5.W1 7A /r
VCVTUQQ2PH xmm1{k1}{z}, zmm2/m512/m64bcst {er}
Full ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5219
IihVCVTUQQ2PH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding
  IiAllowBroadcasting QWORD
  IiDisp8EVEX FULL8
  IiEmitOpcode 0x7A
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, xmm.ymm, xmm.zmm
.xmm.xmm:
  IiEmitPrefix EVEX.128.F2.MAP5.W1
  RET
.xmm.ymm
  IiEmitPrefix EVEX.256.F2.MAP5.W1
  RET
.xmm.zmm:
  IiEmitPrefix EVEX.512.F2.MAP5.W1
  RET
.xmm.mem:
  IiDispatchData OWORD=.xmm.xmm:, YWORD=.xmm.ymm:, ZWORD=.xmm.zmm:
  IiAbort '6730' ; Operand size could not be determined, please use DATA= modifier.
 ENDP IihVCVTUQQ2PH::
↑ VCVTUSQ2PH
Convert Unsigned Doubleword Integer to an FP16 Value.
Reference
EVEX.LLIG.F3.MAP5.W0 7B /r
VCVTUSI2SH xmm1, xmm2, r32/m32{er}
EVEX.LLIG.F3.MAP5.W1 7B /r
VCVTUSI2SH xmm1, xmm2, r64/m64{er}
Scalar ModRM:reg (w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t5219
IihVCVTUSI2SH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,ROUND
  IiAllowRounding Register=xmm, Operand=DL
  IiEmitOpcode 0x7B
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.r32, xmm.xmm.r64, xmm.xmm.mem
.xmm.xmm.r32:
  IiEncoding DATA=DWORD
  IiDisp8EVEX SCALAR4
  IiEmitPrefix EVEX.LLIG.F3.MAP5.W0
  RET
.xmm.xmm.r64:
  IiEncoding DATA=QWORD
  IiDisp8EVEX SCALAR8
  IiEmitPrefix EVEX.LLIG.F3.MAP5.W1
  RET
.xmm.xmm.mem:
  IiDispatchData DWORD=.xmm.xmm.r32:, QWORD=.xmm.xmm.r64:
  IiAbort '6730' ; Operand size could not be determined, please use DATA= modifier.
 ENDP IihVCVTUSI2SH::
↑ VCVTUW2PH
Convert Packed Unsigned Word Integers to FP16 Values.
Reference
EVEX.512.F2.MAP5.W0 7D /r
VCVTUW2PH zmm1{k1}{z}, zmm2/m512/m16bcst {er}
Full ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5225
IihVCVTUW2PH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding Register=zmm, Operand=DL
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x7D
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.F2.MAP5.W0
  RET
.ymm.ymm:
.ymm.mem:
  IiEmitPrefix EVEX.256.F2.MAP5.W0
  RET
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.F2.MAP5.W0
  RET
 ENDP IihVCVTUW2PH::
↑ VCVTW2PH
Convert Packed Signed Word Integers to FP16 Values.
Reference
EVEX.512.F3.MAP5.W0 7D /r
VCVTW2PH zmm1{k1}{z}, zmm2/m512/m16bcst {er}
Full ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5225
IihVCVTW2PH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding Register=zmm, Operand=DL
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x7D
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.F3.MAP5.W0
  RET
.ymm.ymm:
.ymm.mem:
  IiEmitPrefix EVEX.256.F3.MAP5.W0
  RET
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.F3.MAP5.W0
  RET
 ENDP IihVCVTW2PH::
↑ VDIVPH
Divide Packed FP16 Values.
Reference
EVEX.512.NP.MAP5.W0 5E /r
VDIVPH zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst {er}
Full ModRM:reg (w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t5211
IihVDIVPH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding Register=zmm, Operand=DL
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x5E
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP5.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.NP.MAP5.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP5.W0
  RET
 ENDP IihVDIVPH::
↑ VDIVSH
Divide Scalar FP16 Values.
Reference
EVEX.LLIG.F3.MAP5.W0 5E /r
VDIVSH xmm1{k1}{z}, xmm2, xmm3/m16 {er}
Scalar ModRM:reg (w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t5211
IihVDIVSH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,ROUND
  IiAllowRounding Register=xmm, Operand=DL
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0x5E
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.F3.MAP5.W0
  RET
 ENDP IihVDIVSH::
↑ VDPBF16PS
Dot Product of BF16 Pairs Accumulated Into Packed Single Precision.
Reference
EVEX.512.F3.0F38.W0 52 /r
VDPBF16PS zmm1{k1}{z}, zmm2, zmm3/m512/m32bcst
Full ModRM:reg (w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t5912
IihVDPBF16PS:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST
  IiAllowBroadcasting DWORD
  IiDisp8EVEX FULL4
  IiEmitOpcode 0x52
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.F3.0F38.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.F3.0F38.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.F3.0F38.W0
  RET
 ENDP IihVDPBF16PS::
↑ VFCMADDCPH
Complex Multiply and Accumulate FP16 Values.
Reference
EVEX.512.F2.MAP6.W0 56 /r
VFCMADDCPH zmm1{k1}{z}, zmm2, zmm3/m512/m32bcst {er}
Full ModRM:reg (w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4701
IihVFCMADDCPH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding
  IiAllowBroadcasting DWORD
  IiDisp8EVEX FULL4
  IiEmitOpcode 0x56
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.F2.MAP6.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.F2.MAP6.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.F2.MAP6.W0
  RET
 ENDP IihVFCMADDCPH::
↑ VFMADDCPH
Complex Multiply and Accumulate FP16 Values.
Reference
EVEX.512.F3.MAP6.W0 56 /r
VFMADDCPH zmm1{k1}{z}, zmm2, zmm3/m512/m32bcst {er}
Full ModRM:reg (w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4701
IihVFMADDCPH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding Register=xmm
  IiAllowBroadcasting DWORD
  IiDisp8EVEX FULL4
  IiEmitOpcode 0x56
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.F3.MAP6.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.F3.MAP6.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.F3.MAP6.W0
  RET
 ENDP IihVFMADDCPH::
↑ VFCMADDCSH
Complex Multiply and Accumulate Scalar FP16 Values.
Reference
EVEX.LLIG.F2.MAP6.W0 57 /r
VFCMADDCSH xmm1{k1}{z}, xmm2, xmm3/m32 {er}
Scalar ModRM:reg (r, w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4701
IihVFCMADDCSH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,ROUND
  IiAllowRounding Register=xmm
  IiDisp8EVEX SCALAR4
  IiEmitOpcode 0x57
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.LLIG.F2.MAP6.W0
  RET
 ENDP IihVFCMADDCSH::
↑ VFMADDCSH
Complex Multiply and Accumulate Scalar FP16 Values.
Reference
EVEX.LLIG.F3.MAP6.W0 57 /r
VFMADDCSH xmm1{k1}{z}, xmm2, xmm3/m32 {er}
Scalar ModRM:reg (r, w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4701
IihVFMADDCSH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,ROUND
  IiAllowRounding Register=xmm
  IiDisp8EVEX SCALAR4
  IiEmitOpcode 0x57
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.LLIG.F3.MAP6.W0
  RET
 ENDP IihVFMADDCSH::
↑ VFCMULCPH
Complex Multiply FP16 Values.
Reference
EVEX.512.F2.MAP6.W0 D6 /r
VFCMULCPH zmm1{k1}{z}, zmm2, zmm3/m512/m32bcst {er}
Full ModRM:reg (w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4703
IihVFCMULCPH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding
  IiAllowBroadcasting DWORD
  IiDisp8EVEX FULL4
  IiEmitOpcode 0xD6
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.F2.MAP6.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.F2.MAP6.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.F2.MAP6.W0
  RET
 ENDP IihVFCMULCPH::
↑ VFMULCPH
Complex Multiply FP16 Values.
Reference
EVEX.512.F3.MAP6.W0 D6 /r
VFMULCPH zmm1{k1}{z}, zmm2, zmm3/m512/m32bcst {er}
Full ModRM:reg (w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4703
IihVFMULCPH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding
  IiAllowBroadcasting DWORD
  IiDisp8EVEX FULL4
  IiEmitOpcode 0xD6
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.F3.MAP6.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.F3.MAP6.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.F3.MAP6.W0
  RET
 ENDP IihVFMULCPH::
↑ VFCMULCSH
Complex Multiply Scalar FP16 Values.
Reference
EVEX.LLIG.F2.MAP6.W0 D7 /r
VFCMULCSH xmm1{k1}{z}, xmm2, xmm3/m32 {er}
Scalar ModRM:reg (r, w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4703
IihVFCMULCSH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,ROUND
  IiAllowRounding Register=xmm
  IiDisp8EVEX SCALAR4
  IiEmitOpcode 0xD7
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.LLIG.F2.MAP6.W0
  RET
 ENDP IihVFCMULCSH::
↑ VFMULCSH
Complex Multiply Scalar FP16 Values.
Reference
EVEX.LLIG.F3.MAP6.W0 D7 /r
VFMULCSH xmm1{k1}{z}, xmm2, xmm3/m32 {er}
Scalar ModRM:reg (r, w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4703
IihVFMULCSH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,ROUND
  IiAllowRounding Register=xmm
  IiDisp8EVEX SCALAR4
  IiEmitOpcode 0xD7
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.LLIG.F3.MAP6.W0
  RET
 ENDP IihVFMULCSH::
↑ VFMADD132SH
Fused Multiply-Add of Scalar FP16 Values.
Reference
EVEX.LLIG.66.MAP6.W0 99 /r
VFMADD132SH xmm1{k1}{z}, xmm2, xmm3/m16 {er}
Scalar ModRM:reg (r, w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4710
IihVFMADD132SH:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,MASK,ZEROING,ROUND
  IiAllowRounding Register=xmm
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0x99
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.LLIG.66.MAP6.W0
  RET
 ENDP IihVFMADD132SH::
↑ VFMADD213SH
Fused Multiply-Add of Scalar FP16 Values.
Reference
EVEX.LLIG.66.MAP6.W0 A9 /r
VFMADD213SH xmm1{k1}{z}, xmm2, xmm3/m16 {er}
Scalar ModRM:reg (r, w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4710
IihVFMADD213SH:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,MASK,ZEROING,ROUND
  IiAllowRounding Register=xmm
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0xA9
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.LLIG.66.MAP6.W0
  RET
 ENDP IihVFMADD213SH::
↑ VFMADD231SH
Fused Multiply-Add of Scalar FP16 Values.
Reference
EVEX.LLIG.66.MAP6.W0 B9 /r
VFMADD231SH xmm1{k1}{z}, xmm2, xmm3/m16 {er}
Scalar ModRM:reg (r, w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4710
IihVFMADD231SH:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,MASK,ZEROING,ROUND
  IiAllowRounding Register=xmm
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0xB9
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.LLIG.66.MAP6.W0
  RET
 ENDP IihVFMADD231SH::
↑ VFNMADD132SH
Fused Multiply-Add of Scalar FP16 Values.
Reference
EVEX.LLIG.66.MAP6.W0 9D /r
VFNMADD132SH xmm1{k1}{z}, xmm2, xmm3/m16 {er}
Scalar ModRM:reg (r, w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4710
IihVFNMADD132SH:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,MASK,ZEROING,ROUND
  IiAllowRounding Register=xmm
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0x9D
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.LLIG.66.MAP6.W0
  RET
 ENDP IihVFNMADD132SH::
↑ VFNMADD213SH
Fused Multiply-Add of Scalar FP16 Values.
Reference
EVEX.LLIG.66.MAP6.W0 AD /r
VFNMADD213SH xmm1{k1}{z}, xmm2, xmm3/m16 {er}
Scalar ModRM:reg (r, w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4710
IihVFNMADD213SH:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,MASK,ZEROING,ROUND
  IiAllowRounding Register=xmm
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0xAD
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.LLIG.66.MAP6.W0
  RET
 ENDP IihVFNMADD213SH::
↑ VFNMADD231SH
Fused Multiply-Add of Scalar FP16 Values.
Reference
EVEX.LLIG.66.MAP6.W0 BD /r
VFNMADD231SH xmm1{k1}{z}, xmm2, xmm3/m16 {er}
Scalar ModRM:reg (r, w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4710
IihVFNMADD231SH:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,MASK,ZEROING,ROUND
  IiAllowRounding Register=xmm
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0xBD
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.LLIG.66.MAP6.W0
  RET
 ENDP IihVFNMADD231SH::
↑ VFMSUB132SH
Fused Multiply-Subtract of Scalar FP16 Values.
Reference
EVEX.LLIG.66.MAP6.W0 9B /r
VFMSUB132SH xmm1{k1}{z}, xmm2, xmm3/m16 {er}
Scalar ModRM:reg (r, w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4715
IihVFMSUB132SH:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,MASK,ZEROING,ROUND
  IiAllowRounding Register=xmm
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0x9B
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.LLIG.66.MAP6.W0
  RET
 ENDP IihVFMSUB132SH::
↑ VFMSUB213SH
Fused Multiply-Subtract of Scalar FP16 Values.
Reference
EVEX.LLIG.66.MAP6.W0 AB /r
VFMSUB213SH xmm1{k1}{z}, xmm2, xmm3/m16 {er}
Scalar ModRM:reg (r, w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4715
IihVFMSUB213SH:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,MASK,ZEROING,ROUND
  IiAllowRounding Register=xmm
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0xAB
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.LLIG.66.MAP6.W0
  RET
 ENDP IihVFMSUB213SH::
↑ VFMSUB231SH
Fused Multiply-Subtract of Scalar FP16 Values.
Reference
EVEX.LLIG.66.MAP6.W0 BB /r
VFMSUB231SH xmm1{k1}{z}, xmm2, xmm3/m16 {er}
Scalar ModRM:reg (r, w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4715
IihVFMSUB231SH:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,MASK,ZEROING,ROUND
  IiAllowRounding Register=xmm
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0xBB
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.LLIG.66.MAP6.W0
  RET
 ENDP IihVFMSUB231SH::
↑ VFNMSUB132SH
Fused Multiply-Subtract of Scalar FP16 Values.
Reference
EVEX.LLIG.66.MAP6.W0 9F /r
VFNMSUB132SH xmm1{k1}{z}, xmm2, xmm3/m16 {er}
Scalar ModRM:reg (r, w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4715
IihVFNMSUB132SH:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,MASK,ZEROING,ROUND
  IiAllowRounding Register=xmm
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0x9F
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.LLIG.66.MAP6.W0
  RET
 ENDP IihVFNMSUB132SH::
↑ VFNMSUB213SH
Fused Multiply-Subtract of Scalar FP16 Values.
Reference
EVEX.LLIG.66.MAP6.W0 AF /r
VFNMSUB213SH xmm1{k1}{z}, xmm2, xmm3/m16 {er}
Scalar ModRM:reg (r, w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4715
IihVFNMSUB213SH:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,MASK,ZEROING,ROUND
  IiAllowRounding Register=xmm
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0xAF
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.LLIG.66.MAP6.W0
  RET
 ENDP IihVFNMSUB213SH::
↑ VFNMSUB231SH
Fused Multiply-Subtract of Scalar FP16 Values.
Reference
EVEX.LLIG.66.MAP6.W0 BF /r
VFNMSUB231SH xmm1{k1}{z}, xmm2, xmm3/m16 {er}
Scalar ModRM:reg (r, w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4715
IihVFNMSUB231SH:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,MASK,ZEROING,ROUND
  IiAllowRounding Register=xmm
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0xBF
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.LLIG.66.MAP6.W0
  RET
 ENDP IihVFNMSUB231SH::
↑ VFMADD132PH
Fused Multiply-Add of Packed FP16 Values.
Reference
EVEX.512.66.MAP6.W0 98 /r
VFMADD132PH zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst {er}
Full ModRM:reg (w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4720
IihVFMADD132PH:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding Register=zmm
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x98
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.66.MAP6.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.66.MAP6.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP6.W0
  RET
 ENDP IihVFMADD132PH::
↑ VFMADD213PH
Fused Multiply-Add of Packed FP16 Values.
Reference
EVEX.512.66.MAP6.W0 A8 /r
VFMADD213PH zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst {er}
Full ModRM:reg (w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4720
IihVFMADD213PH:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding Register=zmm
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0xA8
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.66.MAP6.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.66.MAP6.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP6.W0
  RET
 ENDP IihVFMADD213PH::
↑ VFMADD231PH
Fused Multiply-Add of Packed FP16 Values.
Reference
EVEX.512.66.MAP6.W0 B8 /r
VFMADD231PH zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst {er}
Full ModRM:reg (w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4720
IihVFMADD231PH:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding Register=zmm
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0xB8
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.66.MAP6.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.66.MAP6.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP6.W0
  RET
 ENDP IihVFMADD231PH::
↑ VFNMADD132PH
Fused Multiply-Add of Packed FP16 Values.
Reference
EVEX.512.66.MAP6.W0 9C /r
VFNMADD132PH zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst {er}
Full ModRM:reg (w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4720
IihVFNMADD132PH:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding Register=zmm
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x9C
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.66.MAP6.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.66.MAP6.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP6.W0
  RET
 ENDP IihVFNMADD132PH::
↑ VFNMADD213PH
Fused Multiply-Add of Packed FP16 Values.
Reference
EVEX.512.66.MAP6.W0 AC /r
VFNMADD213PH zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst {er}
Full ModRM:reg (w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4720
IihVFNMADD213PH:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding Register=zmm
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0xAC
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.66.MAP6.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.66.MAP6.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP6.W0
  RET
 ENDP IihVFNMADD213PH::
↑ VFNMADD231PH
Fused Multiply-Add of Packed FP16 Values.
Reference
EVEX.512.66.MAP6.W0 BC /r
VFNMADD231PH zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst {er}
Full ModRM:reg (w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4720
IihVFNMADD231PH:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding Register=zmm
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0xBC
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.66.MAP6.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.66.MAP6.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP6.W0
  RET
 ENDP IihVFNMADD231PH::
↑ VFMSUB132PH
Fused Multiply-Subtract of Packed FP16 Values.
Reference
EVEX.512.66.MAP6.W0 9A /r
VFMSUB132PH zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst {er}
Full ModRM:reg (w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4725
IihVFMSUB132PH:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding Register=zmm
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x9A
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.66.MAP6.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.66.MAP6.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP6.W0
  RET
 ENDP IihVFMSUB132PH::
↑ VFMSUB213PH
Fused Multiply-Subtract of Packed FP16 Values.
Reference
EVEX.512.66.MAP6.W0 AA /r
VFMSUB213PH zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst {er}
Full ModRM:reg (w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4725
IihVFMSUB213PH:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding Register=zmm
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0xAA
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.66.MAP6.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.66.MAP6.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP6.W0
  RET
 ENDP IihVFMSUB213PH::
↑ VFMSUB231PH
Fused Multiply-Subtract of Packed FP16 Values.
Reference
EVEX.512.66.MAP6.W0 BA /r
VFMSUB231PH zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst {er}
Full ModRM:reg (w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4725
IihVFMSUB231PH:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding Register=zmm
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0xBA
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.66.MAP6.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.66.MAP6.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP6.W0
  RET
 ENDP IihVFMSUB231PH::
↑ VFNMSUB132PH
Fused Multiply-Subtract of Packed FP16 Values.
Reference
EVEX.512.66.MAP6.W0 9E /r
VFNMSUB132PH zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst {er}
Full ModRM:reg (w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4725
IihVFNMSUB132PH:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding Register=zmm
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x9E
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.66.MAP6.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.66.MAP6.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP6.W0
  RET
 ENDP IihVFNMSUB132PH::
↑ VFNMSUB213PH
Fused Multiply-Subtract of Packed FP16 Values.
Reference
EVEX.512.66.MAP6.W0 AE /r
VFNMSUB213PH zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst {er}
Full ModRM:reg (w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4725
IihVFNMSUB213PH:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding Register=zmm
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0xAE
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.66.MAP6.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.66.MAP6.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP6.W0
  RET
 ENDP IihVFNMSUB213PH::
↑ VFNMSUB231PH
Fused Multiply-Subtract of Packed FP16 Values.
Reference
EVEX.512.66.MAP6.W0 BE /r
VFNMSUB231PH zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst {er}
Full ModRM:reg (w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4725
IihVFNMSUB231PH:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding Register=zmm
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0xBE
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.66.MAP6.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.66.MAP6.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP6.W0
  RET
 ENDP IihVFNMSUB231PH::
↑ VFMADDSUB132PS
Fused Multiply-Alternating Add/Subtract of Packed Single Precision Floating-Point Values.
Reference
(E)VEX.512.66.0F38.W0 96 /r
VFMADDSUB132PS zmm1, zmm2, zmm3/m512/m32bcst{er}
Full ModRM:reg (w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4730
IihVFMADDSUB132PS:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding Register=zmm
  IiAllowBroadcasting DWORD
  IiDisp8EVEX FULL4
  IiEmitOpcode 0x96
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix VEX.128.66.0F38.W0, EVEX.128.66.0F38.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix VEX.256.66.0F38.W0, EVEX.256.66.0F38.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.128.66.0F38.W0
  RET
 ENDP IihVFMADDSUB132PS::
↑ VFMADDSUB213PS
Fused Multiply-Alternating Add/Subtract of Packed Single Precision Floating-Point Values.
Reference
(E)VEX.512.66.0F38.W0 A6 /r
VFMADDSUB213PS zmm1, zmm2, zmm3/m512/m32bcst{er}
Full ModRM:reg (w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4730
IihVFMADDSUB213PS:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding Register=zmm
  IiAllowBroadcasting DWORD
  IiDisp8EVEX FULL4
  IiEmitOpcode 0xA6
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix VEX.128.66.0F38.W0, EVEX.128.66.0F38.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix VEX.256.66.0F38.W0, EVEX.256.66.0F38.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.128.66.0F38.W0
  RET
 ENDP IihVFMADDSUB213PS::
↑ VFMADDSUB231PS
Fused Multiply-Alternating Add/Subtract of Packed Single Precision Floating-Point Values.
Reference
(E)VEX.512.66.0F38.W0 B6 /r
VFMADDSUB231PS zmm1, zmm2, zmm3/m512/m32bcst{er}
Full ModRM:reg (w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4730
IihVFMADDSUB231PS:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding Register=zmm
  IiAllowBroadcasting DWORD
  IiDisp8EVEX FULL4
  IiEmitOpcode 0xB6
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix VEX.128.66.0F38.W0, EVEX.128.66.0F38.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix VEX.256.66.0F38.W0, EVEX.256.66.0F38.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.128.66.0F38.W0
  RET
 ENDP IihVFMADDSUB231PS::
↑ VFMSUBADD132PS
Fused Multiply-Alternating Subtract/Add of Packed Single Precision Floating-Point Values.
Reference
(E)VEX.512.66.0F38.W0 97 /r
VFMSUBADD132PS zmm1, zmm2, zmm3/m512/m32bcst{er}
Full ModRM:reg (w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4735
IihVFMSUBADD132PS:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding Register=zmm
  IiAllowBroadcasting DWORD
  IiDisp8EVEX FULL4
  IiEmitOpcode 0x97
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix VEX.128.66.0F38.W0, EVEX.128.66.0F38.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix VEX.256.66.0F38.W0, EVEX.256.66.0F38.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.128.66.0F38.W0
  RET
 ENDP IihVFMSUBADD132PS::
↑ VFMSUBADD213PS
Fused Multiply-Alternating Subtract/Add of Packed Single Precision Floating-Point Values.
Reference
(E)VEX.512.66.0F38.W0 A7 /r
VFMSUBADD213PS zmm1, zmm2, zmm3/m512/m32bcst{er}
Full ModRM:reg (w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4735
IihVFMSUBADD213PS:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding Register=zmm
  IiAllowBroadcasting DWORD
  IiDisp8EVEX FULL4
  IiEmitOpcode 0xA7
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix VEX.128.66.0F38.W0, EVEX.128.66.0F38.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix VEX.256.66.0F38.W0, EVEX.256.66.0F38.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.128.66.0F38.W0
  RET
 ENDP IihVFMSUBADD213PS::
↑ VFMSUBADD231PS
Fused Multiply-Alternating Subtract/Add of Packed Single Precision Floating-Point Values.
Reference
(E)VEX.512.66.0F38.W0 B7 /r
VFMSUBADD231PS zmm1, zmm2, zmm3/m512/m32bcst{er}
Full ModRM:reg (w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4735
IihVFMSUBADD231PS:: PROC
  IiRequire AVX10,FMA
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding Register=zmm
  IiAllowBroadcasting DWORD
  IiDisp8EVEX FULL4
  IiEmitOpcode 0xB7
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix VEX.128.66.0F38.W0, EVEX.128.66.0F38.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix VEX.256.66.0F38.W0, EVEX.256.66.0F38.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.128.66.0F38.W0
  RET
 ENDP IihVFMSUBADD231PS::
↑ VFPCLASSPH
Test Types of Packed FP16 Values.
Reference
EVEX.512.NP.0F3A.W0 66 /r /ib
VFPCLASSPH k1{k2}, zmm1/m512/m16bcst, imm8
Full ModRM:reg (w) ModRM:r/m (r) imm8 (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4750
IihVFPCLASSPH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,IMM,MASK,BCST
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x66
  IiOpEn RM
  IiModRM /r
  IiEmitImm Operand3, BYTE
  IiDispatchFormat krg.xmm.imm, krg.ymm.imm, krg.zmm.imm, krg.mem.imm
.krg.mem.imm:
  IiDispatchData OWORD=.krg.xmm.imm:, YWORD=.krg.ymm.imm:, ZWORD=.krg.zmm.imm:
  IiAbort '6730' ; Operand size could not be determined, please use DATA= modifier.
.krg.xmm.imm:
  IiEmitPrefix EVEX.128.NP.0F3A.W0
  RET
.krg.ymm.imm:
  IiEmitPrefix EVEX.256.NP.0F3A.W0
  RET
.krg.zmm.imm:
  IiEmitPrefix EVEX.512.NP.0F3A.W0
  RET
 ENDP IihVFPCLASSPH::
↑ VFPCLASSSH
Test Types of Scalar FP16 Values.
Reference
EVEX.LLIG.NP.0F3A.W0 67 /r /ib
VFPCLASSSH k1{k2}, xmm1/m16, imm8
Full ModRM:reg (w) ModRM:r/m (r) imm8 (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4750
IihVFPCLASSSH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,IMM,MASK
  IiEncoding DATA=WORD
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0x67
  IiOpEn RM
  IiModRM /r
  IiEmitImm Operand3, BYTE
  IiDispatchFormat krg.xmm.imm, krg.mem.imm
.krg.xmm.imm:
.krg.mem.imm:
  IiEmitPrefix EVEX.LLIG.NP.0F3A.W0
  RET
 ENDP IihVFPCLASSSH::
↑ VGETEXPPH
Convert Exponents of Packed FP16 Values to FP16 Values.
Reference
EVEX.512.66.MAP6.W0 42 /r
VGETEXPPH zmm1{k1}{z}, zmm2/m512/m16bcst {sae}
Full ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t4752
IihVGETEXPPH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,BCST,SAE
  IiAllowSuppressing Register=zmm, Swizzle=off
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x42
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.66.MAP6.W0
  RET
.ymm.ymm:
.ymm.mem:
  IiEmitPrefix EVEX.256.66.MAP6.W0
  RET
.zmm.zmm:
.zmm.mem;
  IiEmitPrefix EVEX.512.66.MAP6.W0
  RET
 ENDP IihVGETEXPPH::
↑ VGETEXPSH
Convert Exponents of Scalar FP16 Values to FP16 Values.
Reference
EVEX.LLIG.66.MAP6.W0 43 /r
VGETEXPSH xmm1{k1}{z}, xmm2, xmm3/m16 {sae}
Scalar ModRM:reg (w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4752
IihVGETEXPSH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,SAE
  IiAllowSuppressing Register=xmm, Swizzle=off
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0x43
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.LLIG.66.MAP6.W0
  RET
 ENDP IihVGETEXPSH::
↑ VGETMANTPH
Extract FP16 Vector of Normalized Mantissas from FP16 Vector.
Reference
EVEX.512.NP.0F3A.W0 26 /r /ib
VGETMANTPH zmm1{k1}{z}, zmm2/m512/m16bcst {sae}, imm8
Full ModRM:reg (w) ModRM:r/m (r) imm8 (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4754
IihVGETMANTPH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,BCST,SAE
  IiAllowSuppressing Operand=DH, Register=zmm, Swizzle=off
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x26
  IiOpEn RM
  IiModRM /r
  IiEmitImm Operand3, BYTE, Max=15
  IiDispatchFormat xmm.xmm.imm, xmm.mem.imm, ymm.ymm.imm, ymm.mem.imm, zmm.zmm.imm, zmm.mem.imm
.xmm.xmm.imm:
.xmm.mem.imm:
  IiEmitPrefix EVEX.128.NP.0F3A.W0
  RET
.ymm.ymm.imm:
.ymm.mem.imm:
  IiEmitPrefix EVEX.256.NP.0F3A.W0
  RET
.zmm.zmm.imm:
.zmm.mem.imm:
  IiEmitPrefix EVEX.512.NP.0F3A.W0
  RET
 ENDP IihVGETMANTPH::
↑ VGETMANTSH
Extract FP16 of Normalized Mantissa from FP16 Scalar.
Reference
EVEX.LLIG.NP.0F3A.W0 27 /r /ib
VGETMANTSH xmm1{k1}{z}, xmm2, xmm3/m16 {sae}, imm8
Scalar ModRM:reg (w) VEX.vvvv (r) ModRM:r/m (r) imm8 (r)
Documentation
[IntelAVX10.1]
Tested by
t4754
IihVGETMANTSH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,SAE
  IiAllowSuppressing Operand=DH, Register=xmm, Swizzle=off
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x27
  IiOpEn RVM
  IiModRM /r
  IiEmitImm Operand4, BYTE
  IiDispatchFormat xmm.xmm.xmm.imm, xmm.xmm.mem.imm
.xmm.xmm.xmm.imm:
.xmm.xmm.mem.imm:
  IiEmitPrefix EVEX.LLIG.NP.0F3A.W0
  RET
 ENDP IihVGETMANTSH::
↑ VMAXPH
Return Maximum of Packed FP16 Values.
Reference
EVEX.512.NP.MAP5.W0 5F /r
VMAXPH zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst {sae}
Full ModRM:reg (w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t5215
IihVMAXPH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,SAE
  IiAllowSuppressing Swizzle=no
  IiAllowRounding Register=zmm
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x5F
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP5.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.NP.MAP5.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP5.W0
  RET
 ENDP IihVMAXPH::
↑ VMINPH
Return Minimum of Packed FP16 Values.
Reference
EVEX.512.NP.MAP5.W0 5D /r Full ModRM:reg (w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t5215
IihVMINPH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,SAE
  IiAllowSuppressing Swizzle=no
  IiAllowRounding Register=zmm
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x5D
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP5.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.NP.MAP5.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP5.W0
  RET
 ENDP IihVMINPH::
↑ VMAXSH
Return Maximum of Scalar FP16 Values.
Reference
EVEX.LLIG.F3.MAP5.W0 5F /r
VMAXSH xmm1{k1}{z}, xmm2, xmm3/m16 {sae}
Scalar ModRM:reg (w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t5215
IihVMAXSH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,SAE
  IiAllowSuppressing Register=xmm, Swizzle=no
  IiAllowRounding Register=xmm
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0x5F
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.LLIG.F3.MAP5.W0
  RET
 ENDP IihVMAXSH::
↑ VMINSH
Return Minimum of Scalar FP16 Values.
Reference
EVEX.LLIG.F3.MAP5.W0 5D /r
VMINSH xmm1{k1}{z}, xmm2, xmm3/m16 {sae}
Scalar ModRM:reg (w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t5215
IihVMINSH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,SAE
  IiAllowSuppressing Register=xmm, Swizzle=no
  IiAllowRounding Register=xmm
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0x5D
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.LLIG.F3.MAP5.W0
  RET
 ENDP IihVMINSH::
↑ VMOVSH
—Move Scalar FP16 Value.
Reference
EVEX.LLIG.F3.MAP5.W0 10 /r
VMOVSH xmm1{k1}{z}, m16
VMOVSH xmm1{k1}{z}, xmm2, xmm3
EVEX.LLIG.F3.MAP5.W0 11 /r
VMOVSH m16{k1}, xmm1
VMOVSH xmm1{k1}{z}, xmm2, xmm3
Documentation
[IntelAVX10.1]
Tested by
t5472
IihVMOVSH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,CODE,MASK,ZEROING
  IiDisp8EVEX SCALAR2
  IiEncoding DATA=WORD
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.mem, mem.xmm
.xmm.mem:
    IiOpEn RM
.10:IiEmitOpcode 0x10
    JMPS .12:
.mem.xmm:
    IiOpEn MR
.11:IiEmitOpcode 0x11
.12:IiEmitPrefix EVEX.LLIG.F3.MAP5.W0
    RET
.xmm.xmm.xmm:
    IiDispatchCode LONG=.LONG
    IiEncoding CODE=SHORT
    IiOpEn RVM
    JMP .10:
.LONG:
    IiEncoding CODE=LONG
    IiOpEn MVR
    JMP .11:
 ENDP IihVMOVSH::
↑ VMULPH
Multiply Packed FP16 Values.
Reference
EVEX.512.NP.MAP5.W0 59 /r
VMULPH zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst {er}
Full ModRM:reg (w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t5211
IihVMULPH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding Register=zmm
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x59
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.NP.MAP5.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.NP.MAP5.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP5.W0
  RET
 ENDP IihVMULPH::
↑ VMULSH
Multiply Scalar FP16 Values.
Reference
EVEX.LLIG.F3.MAP5.W0 59 /r
VMULSH xmm1{k1}{z}, xmm2, xmm3/m16 {er}
Scalar ModRM:reg (w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t5211
IihVMULSH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,ROUND
  IiAllowRounding Register=xmm
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0x59
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.F3.MAP5.W0
  RET
 ENDP IihVMULSH::
↑ VPEXPANDB
Expand Byte Values.
Reference
EVEX.512.66.0F38.W0 62 /r
VPEXPANDB zmm1{k1}{z}, zmm2/mem512
Tuple1 Scalar ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5277
IihVPEXPANDB:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING
  IiDisp8EVEX SCALAR1
  IiEmitOpcode 0x62
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.66.0F38.W0
  RET
.ymm.ymm:
.ymm.mem:
  IiEmitPrefix EVEX.256.66.0F38.W0
  RET
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.66.0F38.W0
  RET
 ENDP IihVPEXPANDB::
↑ VPEXPANDW
Expand Byte Values.
Reference
EVEX.512.66.0F38.W1 62 /r
VPEXPANDW zmm1{k1}{z}, zmm2/mem512
Tuple1 Scalar ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5277
IihVPEXPANDW:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0x62
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.66.0F38.W1
  RET
.ymm.ymm:
.ymm.mem:
  IiEmitPrefix EVEX.256.66.0F38.W1
  RET
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.66.0F38.W1
  RET
 ENDP IihVPEXPANDW::
↑ VPSHLDVW
Concatenate and Variable Shift Packed Data Left Logical.
Reference
EVEX.512.66.0F38.W1 70 /r
VPSHLDVW zmm1{k1}{z}, zmm2, zmm3/m512
Full Mem ModRM:reg (r, w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4529
IihVPSHLDVW:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING
  IiDisp8EVEX FULLMEM
  IiEmitOpcode 0x70
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.66.0F38.W1
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.66.0F38.W1
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.66.0F38.W1
  RET
 ENDP IihVPSHLDVW::
↑ VPSHLDVD
Concatenate and Variable Shift Packed Data Left Logical.
Reference
EVEX.512.66.0F38.W0 71 /r
VPSHLDVD zmm1{k1}{z}, zmm2, zmm3/m512bcst
Full ModRM:reg (r, w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4529
IihVPSHLDVD:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST
  IiAllowBroadcasting DWORD
  IiDisp8EVEX FULL4
  IiEmitOpcode 0x71
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.66.0F38.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.66.0F38.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.66.0F38.W0
  RET
 ENDP IihVPSHLDVD::
↑ VPSHLDVQ
Concatenate and Variable Shift Packed Data Left Logical.
Reference
EVEX.512.66.0F38.W1 71 /r
VPSHLDVQ zmm1{k1}{z}, zmm2, zmm3/m512bcst
Full ModRM:reg (r, w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4529
IihVPSHLDVQ:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST
  IiAllowBroadcasting QWORD
  IiDisp8EVEX FULL8
  IiEmitOpcode 0x71
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.66.0F38.W1
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.66.0F38.W1
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.66.0F38.W1
  RET
 ENDP IihVPSHLDVQ::
↑ VPSHRDVW
Concatenate and Variable Shift Packed Data Right Logical.
Reference
EVEX.512.66.0F38.W1 72 /r
VPSHRDVW zmm1{k1}{z}, zmm2, zmm3/m512
Full Mem ModRM:reg (r, w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4528
IihVPSHRDVW:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING
  IiDisp8EVEX FULLMEM
  IiEmitOpcode 0x72
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.66.0F38.W1
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.66.0F38.W1
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.66.0F38.W1
  RET
 ENDP IihVPSHRDVW::
↑ VPSHRDVD
Concatenate and Variable Shift Packed Data Right Logical.
Reference
EVEX.512.66.0F38.W0 73 /r
VPSHRDVD zmm1{k1}{z}, zmm2, zmm3/m512bcst
Full ModRM:reg (r, w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4528
IihVPSHRDVD:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST
  IiAllowBroadcasting DWORD
  IiDisp8EVEX FULL4
  IiEmitOpcode 0x73
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.66.0F38.W0
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.66.0F38.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.66.0F38.W0
  RET
 ENDP IihVPSHRDVD::
↑ VPSHRDVQ
Concatenate and Variable Shift Packed Data Right Logical.
Reference
EVEX.512.66.0F38.W1 73 /r
VPSHRDVQ zmm1{k1}{z}, zmm2, zmm3/m512bcst
Full ModRM:reg (r, w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4528
IihVPSHRDVQ:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST
  IiAllowBroadcasting QWORD
  IiDisp8EVEX FULL8
  IiEmitOpcode 0x73
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.128.66.0F38.W1
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix EVEX.256.66.0F38.W1
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.66.0F38.W1
  RET
 ENDP IihVPSHRDVQ::
↑ VPSHUFBITQMB
Shuffle Bits From Quadword Elements Using Byte Indexes Into Mask.
Reference
EVEX.512.66.0F38.W0 8F /r
VPSHUFBITQMB k1{k2}, xmm2, xmm3/m128
Full Mem ModRM:reg (w) EVEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t5649
IihVPSHUFBITQMB:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK
  IiDisp8EVEX FULLMEM
  IiEmitOpcode 0x8F
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat krg.xmm.xmm, krg.xmm.mem, krg.ymm.ymm, krg.ymm.mem, krg.zmm.zmm, krg.zmm.mem
.krg.xmm.xmm:
.krg.xmm.mem:
  IiEmitPrefix EVEX.128.66.0F38.W0
  RET
.krg.ymm.ymm:
.krg.ymm.mem:
  IiEmitPrefix EVEX.256.66.0F38.W0
  RET
.krg.zmm.zmm:
.krg.zmm.mem:
  IiEmitPrefix EVEX.512.66.0F38.W0
  RET
 ENDP IihVPSHUFBITQMB::
↑ VRCPPH
Compute Reciprocals of Packed FP16 Values.
Reference
EVEX.512.66.MAP6.W0 4C /r
VRCPPH zmm1{k1}{z}, zmm2/m512/m16bcst
Full ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5657
IihVRCPPH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST
  IiAllowBroadcasting WORD
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x4C
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.xmm:
.xmm.mem:
  IiEmitPrefix EVEX.128.66.MAP6.W0
  RET
.ymm.ymm:
.ymm.mem:
  IiEmitPrefix EVEX.256.66.MAP6.W0
  RET
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP6.W0
  RET
 ENDP IihVRCPPH::
↑ VRCPSH
Compute Reciprocal of Scalar FP16 Value.
Reference
EVEX.LLIG.66.MAP6.W0 4D /r
VRCPSH xmm1{k1}{z}, xmm2, xmm3/m16
Scalar ModRM:reg (w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t5657
IihVRCPSH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0x4D
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix EVEX.LLIG.66.MAP6.W0
  RET
 ENDP IihVRCPSH::
↑ VREDUCEPH
Perform Reduction Transformation on Packed FP16 Values.
Reference
EVEX.512.NP.0F3A.W0 56 /r /ib
VREDUCEPH zmm1{k1}{z}, zmm2/m512/m16bcst {sae}, imm8
Full ModRM:reg (w) ModRM:r/m (r) imm8 (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t5719
IihVREDUCEPH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,IMM,BCST,MASK,SAE
  IiAllowSuppressing Operand=DH, Swizzle=Off
  IiAllowBroadcasting WORD, Operand=DH
  IiEmitOpcode 0x56
  IiDisp8EVEX FULL2
  IiEmitImm Operand3, BYTE
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm.imm, xmm.mem.imm, ymm.ymm.imm, ymm.mem.imm, \
                   zmm.zmm.imm, zmm.mem.imm
.xmm.mem.imm:
.xmm.xmm.imm:
  IiEmitPrefix EVEX.128.NP.0F3A.W0
  RET
.ymm.mem.imm:
.ymm.ymm.imm:
  IiEmitPrefix EVEX.256.NP.0F3A.W0
  RET
.zmm.zmm.imm:
.zmm.mem.imm:
  IiEmitPrefix EVEX.512.NP.0F3A.W0
  RET
 ENDP IihVREDUCEPH::
↑ VREDUCESH
Perform Reduction Transformation on Scalar FP16 Value.
Reference
EVEX.LLIG.NP.0F3A.W0 57 /r /ib
VREDUCESH xmm1{k1}{z}, xmm2, xmm3/m16 {sae}, imm8
Scalar ModRM:reg (w) VEX.vvvv (r) ModRM:r/m (r) imm8 (r)
Documentation
[IntelAVX10.1]
Tested by
t5719
IihVREDUCESH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,IMM,MASK,ZEROING,SAE
  IiAllowSuppressing Operand=DH, Register=xmm, Swizzle=Off
  IiAllowBroadcasting WORD, Operand=DH
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0x57
  IiOpEn RM
  IiModRM /r
  IiEmitImm Operand4, BYTE
  IiDispatchFormat xmm.xmm.xmm.imm, xmm.xmm.mem.imm
.xmm.xmm.mem.imm:
.xmm.xmm.xmm.imm:
  IiEmitPrefix EVEX.LLIG.NP.0F3A.W0
  RET
 ENDP IihVREDUCESH::
↑ VRNDSCALEPH
Round Packed FP16 Values to Include a Given Number of Fraction Bits.
Reference
EVEX.512.NP.0F3A.W0 08 /r /ib
VRNDSCALEPH zmm1{k1}{z}, zmm2/m512/m16bcst {sae}, imm8
Full ModRM:reg (w) ModRM:r/m (r) imm8 (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t5713
IihVRNDSCALEPH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,IMM,MASK,ZEROING,BCST,SAE
  IiAllowSuppressing Operand=DH, Swizzle=Off
  IiAllowBroadcasting WORD, Operand=DH
  IiEmitOpcode 0x08
  IiDisp8EVEX FULL2
  IiEmitImm Operand3, BYTE
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm.imm, xmm.mem.imm, ymm.ymm.imm, ymm.mem.imm, \
                   zmm.zmm.imm, zmm.mem.imm
.xmm.mem.imm:
.xmm.xmm.imm:
  IiEmitPrefix EVEX.128.NP.0F3A.W0
  RET
.ymm.mem.imm:
.ymm.ymm.imm:
  IiEmitPrefix EVEX.256.NP.0F3A.W0
  RET
.zmm.zmm.imm:
.zmm.mem.imm:
  IiEmitPrefix EVEX.512.NP.0F3A.W0
  RET
 ENDP IihVRNDSCALEPH::
↑ VRNDSCALESH
Round Scalar FP16 Value to Include a Given Number of Fraction Bits.
Reference
EVEX.LLIG.NP.0F3A.W0 0A /r /ib
VRNDSCALESH xmm1{k1}{z}, xmm2, xmm3/m16 {sae}, imm8
Scalar ModRM:reg (w) VEX.vvvv (r) ModRM:r/m (r) imm8 (r)
Documentation
[IntelAVX10.1]
Tested by
t5713
IihVRNDSCALESH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,IMM,MASK,ZEROING,SAE
  IiAllowSuppressing Operand=DH, Swizzle=Off
  IiEmitOpcode 0x0A
  IiDisp8EVEX SCALAR2
  IiEmitImm Operand4, BYTE
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm.imm, xmm.xmm.mem.imm
.xmm.xmm.mem.imm:
.xmm.xmm.xmm.imm:
  IiEmitPrefix EVEX.LLIG.NP.0F3A.W0
  RET
 ENDP IihVRNDSCALESH::
↑ VRSQRTPH
Compute Reciprocals of Square Roots of Packed FP16 Values.
Reference
EVEX.512.66.MAP6.W0 4E /r
VRSQRTPH zmm1{k1}{z}, zmm2/m512/m16bcs
Full ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5653
IihVRSQRTPH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,IMM,MASK,ZEROING,BCST
  IiAllowBroadcasting WORD, Operand=DL
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x4E
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.mem:
.xmm.xmm:
  IiEmitPrefix EVEX.128.66.MAP6.W0
  RET
.ymm.mem:
.ymm.ymm:
  IiEmitPrefix EVEX.256.66.MAP6.W0
  RET
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP6.W0
  RET
 ENDP IihVRSQRTPH::
↑ VRSQRTSH
—Compute Approximate Reciprocal of Square Root of Scalar FP16 Value.
Reference
EVEX.LLIG.66.MAP6.W0 4F /r
VRSQRTSH xmm1{k1}{z}, xmm2, xmm3/m16
Scalar ModRM:reg (w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t5653
IihVRSQRTSH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0x4F
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.mem:
.xmm.xmm.xmm:
  IiEmitPrefix EVEX.LLIG.66.MAP6.W0
  RET
 ENDP IihVRSQRTSH::
↑ VSCALEFPH
Scale Packed FP16 Values with FP16 Values.
Reference
EVEX.512.66.MAP6.W0 2C /r
VSCALEFPH zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst {er}
Full ModRM:reg (w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t5711
IihVSCALEFPH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,IMM,MASK,ZEROING,BCST,ROUND
  IiAllowRounding
  IiAllowBroadcasting WORD, Operand=DL
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x2C
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.mem:
.xmm.xmm.xmm:
  IiEmitPrefix EVEX.128.66.MAP6.W0
  RET
.ymm.ymm.mem:
.ymm.ymm.ymm:
  IiEmitPrefix EVEX.256.66.MAP6.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.66.MAP6.W0
  RET
 ENDP IihVSCALEFPH::
↑ VSCALEFSH
Scale Scalar FP16 Values with FP16 Values.
Reference
EVEX.LLIG.66.MAP6.W0 2D /r
VSCALEFSH xmm1{k1}{z}, xmm2, xmm3/m16 {er}
Scalar ModRM:reg (w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t5711
IihVSCALEFSH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,ROUND
  IiAllowRounding Operand=DL,Register=xmm
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0x2D
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.mem:
.xmm.xmm.xmm:
  IiEmitPrefix EVEX.LLIG.66.MAP6.W0
  RET
 ENDP IihVSCALEFSH::
↑ VSHA512MSG1
Perform an Intermediate Calculation for the Next Four SHA512 Message Qword.
Reference
VEX.256.F2.0F38.W0 CC 11:rrr:bbb
VSHA512MSG1 ymm1, xmm2
Documentation
[IntelAVX10.1]
Tested by
t4533
IihVSHA512MSG1:: PROC
  IiRequire AVX10,SHA
  IiEmitOpcode 0xCC
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat ymm.xmm
.ymm.xmm:
  IiEmitPrefix VEX.256.F2.0F38.W0
  RET
 ENDP IihVSHA512MSG1::
↑ VSHA512MSG2
Perform a Final Calculation for the Next Four SHA512 Message Qwords.
Reference
VEX.256.F2.0F38.W0 CD 11:rrr:bbb
VSHA512MSG2 ymm1, ymm2
Documentation
[IntelAVX10.1]
Tested by
t4533
IihVSHA512MSG2:: PROC
  IiRequire AVX10,SHA
  IiEmitOpcode 0xCD
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat ymm.ymm
.ymm.ymm:
  IiEmitPrefix VEX.256.F2.0F38.W0
  RET
 ENDP IihVSHA512MSG2::
↑ VSHA512RNDS2
Perform Two Rounds of SHA512 Operation.
Reference
VEX.256.F2.0F38.W0 CB 11:rrr:bbb
VSHA512RNDS2 ymm1, ymm2, xmm3
Documentation
[IntelAVX10.1]
Tested by
t4533
IihVSHA512RNDS2:: PROC
  IiRequire AVX10,SHA
  IiEmitOpcode 0xCB
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat ymm.ymm.xmm
.ymm.ymm.xmm:
  IiEmitPrefix VEX.256.F2.0F38.W0
  RET
 ENDP IihVSHA512RNDS2::
↑ VSM3MSG1
—Perform Initial Calculation for the Next Four SM3 Message Words.
Reference
VEX.128.NP.0F38.W0 DA /r
VSM3MSG1 xmm1, xmm2, xmm3/m128
Documentation
[IntelAVX10.1]
Tested by
t4910
IihVSM3MSG1:: PROC
  IiRequire AVX10,SHA
  IiAllowModifier DATA,IMM
  IiEmitOpcode 0xDA
  IiOpEn RVM
  IiModRM /r
  IiEncoding DATA=OWORD
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix VEX.128.NP.0F38.W0
  RET
 ENDP IihVSM3MSG1::
↑ VSM3MSG2
Perform Final Calculation for the Next Four SM3 Message Words.
Reference
VEX.128.66.0F38.W0 DA /r
VSM3MSG2 xmm1, xmm2, xmm3/m128
Documentation
[IntelAVX10.1]
Tested by
t4910
IihVSM3MSG2:: PROC
  IiRequire AVX10,SHA
  IiAllowModifier DATA
  IiEmitOpcode 0xDA
  IiOpEn RVM
  IiModRM /r
  IiEncoding DATA=OWORD
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix VEX.128.66.0F38.W0
  RET
 ENDP IihVSM3MSG2::
↑ VSM3RNDS2
Perform Two Rounds of SM3 Operation.
Reference
VEX.128.66.0F3A.W0 DE /r /ib
VSM3RNDS2 xmm1, xmm2, xmm3/m128, imm8
Documentation
[IntelAVX10.1]
Tested by
t4910
IihVSM3RNDS2:: PROC
  IiRequire AVX10,SHA
  IiAllowModifier DATA,IMM
  IiEmitOpcode 0xDE
  IiOpEn RVM
  IiModRM /r
  IiEncoding DATA=OWORD
  IiEmitImm Operand4, BYTE
  IiDispatchFormat xmm.xmm.xmm.imm, xmm.xmm.mem.imm
.xmm.xmm.xmm.imm:
.xmm.xmm.mem.imm:
  IiEmitPrefix VEX.128.66.0F3A.W0
  RET
 ENDP IihVSM3RNDS2::
↑ VSM4KEY4
Perform Four Rounds of SM4 Key Expansion.
Reference
VEX.256.F3.0F38.W0 DA /r
VSM4KEY4 ymm1, ymm2, ymm3/m256
Documentation
[IntelAVX10.1]
Tested by
t4910
IihVSM4KEY4:: PROC
  IiRequire AVX10,SHA
  IiAllowModifier DATA
  IiEmitOpcode 0xDA
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix VEX.128.F3.0F38.W0
  IiEncoding DATA=OWORD
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix VEX.256.F3.0F38.W0
  IiEncoding DATA=YWORD
  RET
 ENDP IihVSM4KEY4::
↑ VSM4RNDS4
Performs Four Rounds of SM4 Encryption.
Reference
VEX.256.F2.0F38.W0 DA /r
VSM4RNDS4 ymm1, ymm2, ymm3/m256
Documentation
[IntelAVX10.1]
Tested by
t4910
IihVSM4RNDS4:: PROC
  IiRequire AVX10,SHA
  IiEmitOpcode 0xDA
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem
.xmm.xmm.xmm:
.xmm.xmm.mem:
  IiEmitPrefix VEX.128.F2.0F38.W0
  IiEncoding DATA=OWORD
  RET
.ymm.ymm.ymm:
.ymm.ymm.mem:
  IiEmitPrefix VEX.256.F2.0F38.W0
  IiEncoding DATA=YWORD
  RET
 ENDP IihVSM4RNDS4::
↑ VSQRTPH
Compute Square Root of Packed FP16 Values.
Reference
EVEX.512.NP.MAP5.W0 51 /r
VSQRTPH zmm1{k1}{z}, zmm2/m512/m16bcst {er}
Full ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5653
IihVSQRTPH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding Operand=DL, Register=zmm
  IiAllowBroadcasting WORD, Operand=DL
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x51
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem, ymm.ymm, ymm.mem, zmm.zmm, zmm.mem
.xmm.mem:
.xmm.xmm:
  IiEmitPrefix EVEX.128.NP.MAP5.W0
  RET
.ymm.mem:
.ymm.ymm:
  IiEmitPrefix EVEX.256.NP.MAP5.W0
  RET
.zmm.zmm:
.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP5.W0
  RET
 ENDP IihVSQRTPH::
↑ VSQRTSH
Compute Square Root of Scalar FP16 Value.
Reference
EVEX.LLIG.F3.MAP5.W0 51 /r
VSQRTSH xmm1{k1}{z}, xmm2, xmm3/m16 {er}
Scalar ModRM:reg (w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t5653
IihVSQRTSH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,ROUND
  IiAllowRounding Operand=DL, Register=xmm
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0x51
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.mem:
.xmm.xmm.xmm:
  IiEmitPrefix EVEX.LLIG.F3.MAP5.W0
  RET
 ENDP IihVSQRTSH::
↑ VSUBPH
Subtract Packed FP16 Values.
Reference
EVEX.512.NP.MAP5.W0 5C /r
VSUBPH zmm1{k1}{z}, zmm2, zmm3/m512/m16bcst {er}
Full ModRM:reg (w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t5615
IihVSUBPH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,BCST,ROUND
  IiAllowRounding Operand=DL, Register=zmm
  IiAllowBroadcasting WORD, Operand=DL
  IiDisp8EVEX FULL2
  IiEmitOpcode 0x5C
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem, ymm.ymm.ymm, ymm.ymm.mem, zmm.zmm.zmm, zmm.zmm.mem
.xmm.xmm.mem:
.xmm.xmm.xmm:
  IiEmitPrefix EVEX.128.NP.MAP5.W0
  RET
.ymm.ymm.mem:
.ymm.ymm.ymm:
  IiEmitPrefix EVEX.256.NP.MAP5.W0
  RET
.zmm.zmm.zmm:
.zmm.zmm.mem:
  IiEmitPrefix EVEX.512.NP.MAP5.W0
  RET
 ENDP IihVSUBPH::
↑ VSUBSH
Subtract Scalar FP16 Value.
Reference
EVEX.LLIG.F3.MAP5.W0 5C /r
VSUBSH xmm1{k1}{z}, xmm2, xmm3/m16 {er}
Scalar ModRM:reg (w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t5615
IihVSUBSH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,MASK,ZEROING,ROUND
  IiAllowRounding Operand=DL, Register=xmm
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0x5C
  IiOpEn RVM
  IiModRM /r
  IiDispatchFormat xmm.xmm.xmm, xmm.xmm.mem
.xmm.xmm.mem:
.xmm.xmm.xmm:
  IiEmitPrefix EVEX.LLIG.F3.MAP5.W0
  RET
 ENDP IihVSUBSH::
↑ VUCOMISH
Unordered Compare Scalar FP16 Values and Set EFLAGS.
Reference
EVEX.LLIG.NP.MAP5.W0 2E /r
VUCOMISH xmm1, xmm2/m16 {sae}
Scalar ModRM:reg (w) ModRM:r/m (r) N/A N/A
Documentation
[IntelAVX10.1]
Tested by
t5268
IihVUCOMISH:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,SAE
  IiAllowSuppressing Operand=DL, Register=xmm
  IiDisp8EVEX SCALAR2
  IiEmitOpcode 0x2E
  IiOpEn RM
  IiModRM /r
  IiDispatchFormat xmm.xmm, xmm.mem
.xmm.mem:
.xmm.xmm:
  IiEmitPrefix EVEX.LLIG.NP.MAP5.W0
  RET
 ENDP IihVUCOMISH::
↑ VP2INTERSECTD
Compute Intersection Between DWORDS to a Pair of Mask Registers.
Reference
EVEX.NDS.512.F2.0F38.W0 68 /r
VP2INTERSECTD k1+1, zmm2, zmm3/m512/m32bcs
Full ModRM:reg (w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4760
IihVP2INTERSECTD:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST
  IiAllowBroadcasting DWORD, Operand=DL
  IiDisp8EVEX FULL4
  IiEmitOpcode 0x68
  IiOpEn RVM
  IiModRM /r
  IiEncoding DATA=DWORD
  IiDispatchFormat krg.xmm.xmm, krg.xmm.mem, krg.ymm.ymm, krg.ymm.mem, krg.zmm.zmm, krg.zmm.mem
.krg.xmm.mem:
.krg.xmm.xmm:
  IiEmitPrefix EVEX.128.F2.0F38.W0
  RET
.krg.ymm.mem:
.krg.ymm.ymm:
  IiEmitPrefix EVEX.256.F2.0F38.W0
  RET
.krg.zmm.zmm:
.krg.zmm.mem:
  IiEmitPrefix EVEX.512.F2.0F38.W0
  RET
 ENDP IihVP2INTERSECTD::
↑ VP2INTERSECTQ
Compute Intersection Between QWORDS to a Pair of Mask Registers.
Reference
EVEX.NDS.512.F2.0F38.W1 68 /r
VP2INTERSECTQ k1+1, zmm2, zmm3/m512/m64bcs
Full ModRM:reg (w) VEX.vvvv (r) ModRM:r/m (r) N/A
Documentation
[IntelAVX10.1]
Tested by
t4760
IihVP2INTERSECTQ:: PROC
  IiRequire AVX10
  IiAllowModifier DATA,BCST
  IiAllowBroadcasting QWORD, Operand=DL
  IiDisp8EVEX FULL8
  IiEmitOpcode 0x68
  IiOpEn RVM
  IiModRM /r
  IiEncoding DATA=QWORD
  IiDispatchFormat krg.xmm.xmm, krg.xmm.mem, krg.ymm.ymm, krg.ymm.mem, krg.zmm.zmm, krg.zmm.mem
.krg.xmm.mem:
.krg.xmm.xmm:
  IiEmitPrefix EVEX.128.F2.0F38.W1
  RET
.krg.ymm.mem:
.krg.ymm.ymm:
  IiEmitPrefix EVEX.256.F2.0F38.W1
  RET
.krg.zmm.zmm:
.krg.zmm.mem:
  IiEmitPrefix EVEX.512.F2.0F38.W1
  RET
 ENDP IihVP2INTERSECTQ::
  ENDPROGRAM iih

▲Back to the top▲ pre