// Code generated by x86avxgen. DO NOT EDIT.
package x86
// VEX instructions that come in two forms:
// VTHING xmm2/m128, xmmV, xmm1
// VTHING ymm2/m256, ymmV, ymm1
//
// The opcode array in the corresponding Optab entry
// should contain the (VEX prefixes, opcode byte) pair
// for each of the two forms.
// For example, the entries for VPXOR are:
//
// VPXOR xmm2/m128, xmmV, xmm1
// VEX.NDS.128.66.0F.WIG EF /r
//
// VPXOR ymm2/m256, ymmV, ymm1
// VEX.NDS.256.66.0F.WIG EF /r
//
// Produce this optab entry:
//
// {AVPXOR, yvex_xy3, Pavx, opBytes{vex128|vex66|vex0F|vexWIG, 0xEF, vex256|vex66|vex0F|vexWIG, 0xEF}}
//
// VEX requires at least 2 bytes inside opBytes:
// - VEX prefixes (vex-prefixed constants)
// - Opcode byte
//
// EVEX instructions extend VEX form variety:
// VTHING zmm2/m512, zmmV, zmm1 -- implicit K0 (merging)
// VTHING zmm2/m512, zmmV, K, zmm1 -- explicit K mask (can't use K0)
//
// EVEX requires at least 3 bytes inside opBytes:
// - EVEX prefixes (evex-prefixed constants); similar to VEX
// - Displacement multiplier info (scale / broadcast scale)
// - Opcode byte; similar to VEX
//
// Both VEX and EVEX instructions may have opdigit (opcode extension) byte
// which follows the primary opcode byte.
// Because it can only have value of 0-7, it is written in octal notation.
//
// x86.csv can be very useful for figuring out proper [E]VEX parts.
var _yandnl = []ytab{
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yml, Yrl, Yrl}},
}
var _ybextrl = []ytab{
{zcase: Zvex_v_rm_r, zoffset: 2, args: argList{Yrl, Yml, Yrl}},
}
var _yblsil = []ytab{
{zcase: Zvex_rm_r_vo, zoffset: 3, args: argList{Yml, Yrl}},
}
var _ykaddb = []ytab{
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yk, Yk, Yk}},
}
var _ykmovb = []ytab{
{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yk, Ym}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yk, Yrl}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Ykm, Yk}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yrl, Yk}},
}
var _yknotb = []ytab{
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yk, Yk}},
}
var _ykshiftlb = []ytab{
{zcase: Zvex_i_rm_r, zoffset: 2, args: argList{Yu8, Yk, Yk}},
}
var _yrorxl = []ytab{
{zcase: Zvex_i_rm_r, zoffset: 0, args: argList{Yu8, Yml, Yrl}},
{zcase: Zvex_i_rm_r, zoffset: 2, args: argList{Yi8, Yml, Yrl}},
}
var _yv4fmaddps = []ytab{
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Ym, YzrMulti4, Yzr}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{Ym, YzrMulti4, Yknot0, Yzr}},
}
var _yv4fmaddss = []ytab{
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Ym, YxrEvexMulti4, YxrEvex}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{Ym, YxrEvexMulti4, Yknot0, YxrEvex}},
}
var _yvaddpd = []ytab{
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr, Yxr}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yym, Yyr, Yyr}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr, Yzr}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{Yzm, Yzr, Yknot0, Yzr}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex, YxrEvex}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, YxrEvex, Yknot0, YxrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex, YyrEvex}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YymEvex, YyrEvex, Yknot0, YyrEvex}},
}
var _yvaddsd = []ytab{
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr, Yxr}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex, YxrEvex}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, YxrEvex, Yknot0, YxrEvex}},
}
var _yvaddsubpd = []ytab{
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr, Yxr}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yym, Yyr, Yyr}},
}
var _yvaesdec = []ytab{
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr, Yxr}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yym, Yyr, Yyr}},
{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{YxmEvex, YxrEvex, YxrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{YymEvex, YyrEvex, YyrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{Yzm, Yzr, Yzr}},
}
var _yvaesimc = []ytab{
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr}},
}
var _yvaeskeygenassist = []ytab{
{zcase: Zvex_i_rm_r, zoffset: 0, args: argList{Yu8, Yxm, Yxr}},
{zcase: Zvex_i_rm_r, zoffset: 2, args: argList{Yi8, Yxm, Yxr}},
}
var _yvalignd = []ytab{
{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YxmEvex, YxrEvex, YxrEvex}},
{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YxmEvex, YxrEvex, Yknot0, YxrEvex}},
{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YymEvex, YyrEvex, YyrEvex}},
{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YymEvex, YyrEvex, Yknot0, YyrEvex}},
{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, Yzm, Yzr, Yzr}},
{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, Yzm, Yzr, Yknot0, Yzr}},
}
var _yvandnpd = []ytab{
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr, Yxr}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yym, Yyr, Yyr}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex, YxrEvex}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, YxrEvex, Yknot0, YxrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex, YyrEvex}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YymEvex, YyrEvex, Yknot0, YyrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr, Yzr}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{Yzm, Yzr, Yknot0, Yzr}},
}
var _yvblendmpd = []ytab{
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex, YxrEvex}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, YxrEvex, Yknot0, YxrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex, YyrEvex}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YymEvex, YyrEvex, Yknot0, YyrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr, Yzr}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{Yzm, Yzr, Yknot0, Yzr}},
}
var _yvblendpd = []ytab{
{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yxm, Yxr, Yxr}},
{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yym, Yyr, Yyr}},
}
var _yvblendvpd = []ytab{
{zcase: Zvex_hr_rm_v_r, zoffset: 2, args: argList{Yxr, Yxm, Yxr, Yxr}},
{zcase: Zvex_hr_rm_v_r, zoffset: 2, args: argList{Yyr, Yym, Yyr, Yyr}},
}
var _yvbroadcastf128 = []ytab{
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Ym, Yyr}},
}
var _yvbroadcastf32x2 = []ytab{
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YyrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YyrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, Yzr}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, Yzr}},
}
var _yvbroadcastf32x4 = []ytab{
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Ym, YyrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Ym, Yknot0, YyrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Ym, Yzr}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Ym, Yknot0, Yzr}},
}
var _yvbroadcastf32x8 = []ytab{
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Ym, Yzr}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Ym, Yknot0, Yzr}},
}
var _yvbroadcasti32x2 = []ytab{
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YxrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YyrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YyrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, Yzr}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, Yzr}},
}
var _yvbroadcastsd = []ytab{
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yyr}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YyrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YyrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, Yzr}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, Yzr}},
}
var _yvbroadcastss = []ytab{
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yyr}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YxrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YyrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YyrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, Yzr}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, Yzr}},
}
var _yvcmppd = []ytab{
{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yxm, Yxr, Yxr}},
{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yym, Yyr, Yyr}},
{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, Yzm, Yzr, Yk}},
{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, Yzm, Yzr, Yknot0, Yk}},
{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YxmEvex, YxrEvex, Yk}},
{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YxmEvex, YxrEvex, Yknot0, Yk}},
{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YymEvex, YyrEvex, Yk}},
{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YymEvex, YyrEvex, Yknot0, Yk}},
}
var _yvcmpsd = []ytab{
{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yxm, Yxr, Yxr}},
{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YxmEvex, YxrEvex, Yk}},
{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YxmEvex, YxrEvex, Yknot0, Yk}},
}
var _yvcomisd = []ytab{
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr}},
{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{YxmEvex, YxrEvex}},
}
var _yvcompresspd = []ytab{
{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{YxrEvex, YxmEvex}},
{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YxrEvex, Yknot0, YxmEvex}},
{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{YyrEvex, YymEvex}},
{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YyrEvex, Yknot0, YymEvex}},
{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{Yzr, Yzm}},
{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{Yzr, Yknot0, Yzm}},
}
var _yvcvtdq2pd = []ytab{
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yyr}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YxrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YyrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YyrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, Yzr}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YymEvex, Yknot0, Yzr}},
}
var _yvcvtdq2ps = []ytab{
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yym, Yyr}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Yzm, Yknot0, Yzr}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YxrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YymEvex, Yknot0, YyrEvex}},
}
var _yvcvtpd2dq = []ytab{
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, YyrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Yzm, Yknot0, YyrEvex}},
}
var _yvcvtpd2dqx = []ytab{
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YxrEvex}},
}
var _yvcvtpd2dqy = []ytab{
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yym, Yxr}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YxrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YymEvex, Yknot0, YxrEvex}},
}
var _yvcvtpd2qq = []ytab{
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Yzm, Yknot0, Yzr}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YxrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YymEvex, Yknot0, YyrEvex}},
}
var _yvcvtpd2udqx = []ytab{
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YxrEvex}},
}
var _yvcvtpd2udqy = []ytab{
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YxrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YymEvex, Yknot0, YxrEvex}},
}
var _yvcvtph2ps = []ytab{
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yyr}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, Yzr}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YymEvex, Yknot0, Yzr}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YxrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YyrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YyrEvex}},
}
var _yvcvtps2ph = []ytab{
{zcase: Zvex_i_r_rm, zoffset: 0, args: argList{Yu8, Yxr, Yxm}},
{zcase: Zvex_i_r_rm, zoffset: 2, args: argList{Yi8, Yxr, Yxm}},
{zcase: Zvex_i_r_rm, zoffset: 0, args: argList{Yu8, Yyr, Yxm}},
{zcase: Zvex_i_r_rm, zoffset: 2, args: argList{Yi8, Yyr, Yxm}},
{zcase: Zevex_i_r_rm, zoffset: 0, args: argList{Yu8, Yzr, YymEvex}},
{zcase: Zevex_i_r_k_rm, zoffset: 3, args: argList{Yu8, Yzr, Yknot0, YymEvex}},
{zcase: Zevex_i_r_rm, zoffset: 0, args: argList{Yu8, YxrEvex, YxmEvex}},
{zcase: Zevex_i_r_k_rm, zoffset: 3, args: argList{Yu8, YxrEvex, Yknot0, YxmEvex}},
{zcase: Zevex_i_r_rm, zoffset: 0, args: argList{Yu8, YyrEvex, YxmEvex}},
{zcase: Zevex_i_r_k_rm, zoffset: 3, args: argList{Yu8, YyrEvex, Yknot0, YxmEvex}},
}
var _yvcvtps2qq = []ytab{
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, Yzr}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YymEvex, Yknot0, Yzr}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YxrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YyrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YyrEvex}},
}
var _yvcvtsd2si = []ytab{
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yrl}},
{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{YxmEvex, Yrl}},
}
var _yvcvtsd2usil = []ytab{
{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{YxmEvex, Yrl}},
}
var _yvcvtsi2sdl = []ytab{
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yml, Yxr, Yxr}},
{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{Yml, YxrEvex, YxrEvex}},
}
var _yvcvtudq2pd = []ytab{
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YxrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YyrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YyrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, Yzr}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YymEvex, Yknot0, Yzr}},
}
var _yvcvtusi2sdl = []ytab{
{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{Yml, YxrEvex, YxrEvex}},
}
var _yvdppd = []ytab{
{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yxm, Yxr, Yxr}},
}
var _yvexp2pd = []ytab{
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Yzm, Yknot0, Yzr}},
}
var _yvexpandpd = []ytab{
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YxrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YymEvex, Yknot0, YyrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Yzm, Yknot0, Yzr}},
}
var _yvextractf128 = []ytab{
{zcase: Zvex_i_r_rm, zoffset: 0, args: argList{Yu8, Yyr, Yxm}},
{zcase: Zvex_i_r_rm, zoffset: 2, args: argList{Yi8, Yyr, Yxm}},
}
var _yvextractf32x4 = []ytab{
{zcase: Zevex_i_r_rm, zoffset: 0, args: argList{Yu8, YyrEvex, YxmEvex}},
{zcase: Zevex_i_r_k_rm, zoffset: 3, args: argList{Yu8, YyrEvex, Yknot0, YxmEvex}},
{zcase: Zevex_i_r_rm, zoffset: 0, args: argList{Yu8, Yzr, YxmEvex}},
{zcase: Zevex_i_r_k_rm, zoffset: 3, args: argList{Yu8, Yzr, Yknot0, YxmEvex}},
}
var _yvextractf32x8 = []ytab{
{zcase: Zevex_i_r_rm, zoffset: 0, args: argList{Yu8, Yzr, YymEvex}},
{zcase: Zevex_i_r_k_rm, zoffset: 3, args: argList{Yu8, Yzr, Yknot0, YymEvex}},
}
var _yvextractps = []ytab{
{zcase: Zvex_i_r_rm, zoffset: 0, args: argList{Yu8, Yxr, Yml}},
{zcase: Zvex_i_r_rm, zoffset: 2, args: argList{Yi8, Yxr, Yml}},
{zcase: Zevex_i_r_rm, zoffset: 3, args: argList{Yu8, YxrEvex, Yml}},
}
var _yvfixupimmpd = []ytab{
{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, Yzm, Yzr, Yzr}},
{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, Yzm, Yzr, Yknot0, Yzr}},
{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YxmEvex, YxrEvex, YxrEvex}},
{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YxmEvex, YxrEvex, Yknot0, YxrEvex}},
{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YymEvex, YyrEvex, YyrEvex}},
{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YymEvex, YyrEvex, Yknot0, YyrEvex}},
}
var _yvfixupimmsd = []ytab{
{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YxmEvex, YxrEvex, YxrEvex}},
{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YxmEvex, YxrEvex, Yknot0, YxrEvex}},
}
var _yvfpclasspdx = []ytab{
{zcase: Zevex_i_rm_r, zoffset: 0, args: argList{Yu8, YxmEvex, Yk}},
{zcase: Zevex_i_rm_k_r, zoffset: 3, args: argList{Yu8, YxmEvex, Yknot0, Yk}},
}
var _yvfpclasspdy = []ytab{
{zcase: Zevex_i_rm_r, zoffset: 0, args: argList{Yu8, YymEvex, Yk}},
{zcase: Zevex_i_rm_k_r, zoffset: 3, args: argList{Yu8, YymEvex, Yknot0, Yk}},
}
var _yvfpclasspdz = []ytab{
{zcase: Zevex_i_rm_r, zoffset: 0, args: argList{Yu8, Yzm, Yk}},
{zcase: Zevex_i_rm_k_r, zoffset: 3, args: argList{Yu8, Yzm, Yknot0, Yk}},
}
var _yvgatherdpd = []ytab{
{zcase: Zvex_v_rm_r, zoffset: 2, args: argList{Yxr, Yxvm, Yxr}},
{zcase: Zvex_v_rm_r, zoffset: 2, args: argList{Yyr, Yxvm, Yyr}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxvmEvex, Yknot0, YxrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxvmEvex, Yknot0, YyrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YyvmEvex, Yknot0, Yzr}},
}
var _yvgatherdps = []ytab{
{zcase: Zvex_v_rm_r, zoffset: 2, args: argList{Yxr, Yxvm, Yxr}},
{zcase: Zvex_v_rm_r, zoffset: 2, args: argList{Yyr, Yyvm, Yyr}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxvmEvex, Yknot0, YxrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YyvmEvex, Yknot0, YyrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Yzvm, Yknot0, Yzr}},
}
var _yvgatherpf0dpd = []ytab{
{zcase: Zevex_k_rmo, zoffset: 4, args: argList{Yknot0, YyvmEvex}},
}
var _yvgatherpf0dps = []ytab{
{zcase: Zevex_k_rmo, zoffset: 4, args: argList{Yknot0, Yzvm}},
}
var _yvgatherqps = []ytab{
{zcase: Zvex_v_rm_r, zoffset: 2, args: argList{Yxr, Yxvm, Yxr}},
{zcase: Zvex_v_rm_r, zoffset: 2, args: argList{Yxr, Yyvm, Yxr}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxvmEvex, Yknot0, YxrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YyvmEvex, Yknot0, YxrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Yzvm, Yknot0, YyrEvex}},
}
var _yvgetexpsd = []ytab{
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex, YxrEvex}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, YxrEvex, Yknot0, YxrEvex}},
}
var _yvgetmantpd = []ytab{
{zcase: Zevex_i_rm_r, zoffset: 0, args: argList{Yu8, Yzm, Yzr}},
{zcase: Zevex_i_rm_k_r, zoffset: 3, args: argList{Yu8, Yzm, Yknot0, Yzr}},
{zcase: Zevex_i_rm_r, zoffset: 0, args: argList{Yu8, YxmEvex, YxrEvex}},
{zcase: Zevex_i_rm_k_r, zoffset: 3, args: argList{Yu8, YxmEvex, Yknot0, YxrEvex}},
{zcase: Zevex_i_rm_r, zoffset: 0, args: argList{Yu8, YymEvex, YyrEvex}},
{zcase: Zevex_i_rm_k_r, zoffset: 3, args: argList{Yu8, YymEvex, Yknot0, YyrEvex}},
}
var _yvgf2p8affineinvqb = []ytab{
{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yxm, Yxr, Yxr}},
{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yym, Yyr, Yyr}},
{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YxmEvex, YxrEvex, YxrEvex}},
{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YxmEvex, YxrEvex, Yknot0, YxrEvex}},
{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YymEvex, YyrEvex, YyrEvex}},
{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YymEvex, YyrEvex, Yknot0, YyrEvex}},
{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, Yzm, Yzr, Yzr}},
{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, Yzm, Yzr, Yknot0, Yzr}},
}
var _yvinsertf128 = []ytab{
{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yxm, Yyr, Yyr}},
}
var _yvinsertf32x4 = []ytab{
{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YxmEvex, YyrEvex, YyrEvex}},
{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YxmEvex, YyrEvex, Yknot0, YyrEvex}},
{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YxmEvex, Yzr, Yzr}},
{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YxmEvex, Yzr, Yknot0, Yzr}},
}
var _yvinsertf32x8 = []ytab{
{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YymEvex, Yzr, Yzr}},
{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YymEvex, Yzr, Yknot0, Yzr}},
}
var _yvinsertps = []ytab{
{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yxm, Yxr, Yxr}},
{zcase: Zevex_i_rm_v_r, zoffset: 3, args: argList{Yu8, YxmEvex, YxrEvex, YxrEvex}},
}
var _yvlddqu = []ytab{
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Ym, Yxr}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Ym, Yyr}},
}
var _yvldmxcsr = []ytab{
{zcase: Zvex_rm_v_ro, zoffset: 3, args: argList{Ym}},
}
var _yvmaskmovdqu = []ytab{
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxr, Yxr}},
}
var _yvmaskmovpd = []ytab{
{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yxr, Yxr, Ym}},
{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yyr, Yyr, Ym}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Ym, Yxr, Yxr}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Ym, Yyr, Yyr}},
}
var _yvmovapd = []ytab{
{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yxr, Yxm}},
{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yyr, Yym}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yym, Yyr}},
{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{YxrEvex, YxmEvex}},
{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YxrEvex, Yknot0, YxmEvex}},
{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{YyrEvex, YymEvex}},
{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YyrEvex, Yknot0, YymEvex}},
{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{Yzr, Yzm}},
{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{Yzr, Yknot0, Yzm}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YxrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YymEvex, Yknot0, YyrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Yzm, Yknot0, Yzr}},
}
var _yvmovd = []ytab{
{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yxr, Yml}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yml, Yxr}},
{zcase: Zevex_r_v_rm, zoffset: 3, args: argList{YxrEvex, Yml}},
{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{Yml, YxrEvex}},
}
var _yvmovddup = []ytab{
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yym, Yyr}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YxrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YymEvex, Yknot0, YyrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Yzm, Yknot0, Yzr}},
}
var _yvmovdqa = []ytab{
{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yxr, Yxm}},
{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yyr, Yym}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yym, Yyr}},
}
var _yvmovdqa32 = []ytab{
{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{YxrEvex, YxmEvex}},
{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YxrEvex, Yknot0, YxmEvex}},
{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{YyrEvex, YymEvex}},
{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YyrEvex, Yknot0, YymEvex}},
{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{Yzr, Yzm}},
{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{Yzr, Yknot0, Yzm}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YxrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YymEvex, Yknot0, YyrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Yzm, Yknot0, Yzr}},
}
var _yvmovhlps = []ytab{
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxr, Yxr, Yxr}},
{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{YxrEvex, YxrEvex, YxrEvex}},
}
var _yvmovhpd = []ytab{
{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yxr, Ym}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Ym, Yxr, Yxr}},
{zcase: Zevex_r_v_rm, zoffset: 3, args: argList{YxrEvex, Ym}},
{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{Ym, YxrEvex, YxrEvex}},
}
var _yvmovmskpd = []ytab{
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxr, Yrl}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yyr, Yrl}},
}
var _yvmovntdq = []ytab{
{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yxr, Ym}},
{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yyr, Ym}},
{zcase: Zevex_r_v_rm, zoffset: 3, args: argList{YxrEvex, Ym}},
{zcase: Zevex_r_v_rm, zoffset: 3, args: argList{YyrEvex, Ym}},
{zcase: Zevex_r_v_rm, zoffset: 3, args: argList{Yzr, Ym}},
}
var _yvmovntdqa = []ytab{
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Ym, Yxr}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Ym, Yyr}},
{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{Ym, YxrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{Ym, YyrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{Ym, Yzr}},
}
var _yvmovq = []ytab{
{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yxr, Yml}},
{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yxr, Yxm}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yml, Yxr}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr}},
{zcase: Zevex_r_v_rm, zoffset: 3, args: argList{YxrEvex, Yml}},
{zcase: Zevex_r_v_rm, zoffset: 3, args: argList{YxrEvex, YxmEvex}},
{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{Yml, YxrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{YxmEvex, YxrEvex}},
}
var _yvmovsd = []ytab{
{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yxr, Yxr, Yxr}},
{zcase: Zvex_r_v_rm, zoffset: 2, args: argList{Yxr, Ym}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Ym, Yxr}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxr, Yxr, Yxr}},
{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{YxrEvex, YxrEvex, YxrEvex}},
{zcase: Zevex_r_v_k_rm, zoffset: 3, args: argList{YxrEvex, YxrEvex, Yknot0, YxrEvex}},
{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{YxrEvex, Ym}},
{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YxrEvex, Yknot0, Ym}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Ym, YxrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Ym, Yknot0, YxrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxrEvex, YxrEvex, YxrEvex}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxrEvex, YxrEvex, Yknot0, YxrEvex}},
}
var _yvpbroadcastb = []ytab{
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yyr}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yrl, YxrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Yrl, Yknot0, YxrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yrl, YyrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Yrl, Yknot0, YyrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yrl, Yzr}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{Yrl, Yknot0, Yzr}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YxrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YyrEvex}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, YyrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, Yzr}},
{zcase: Zevex_rm_k_r, zoffset: 3, args: argList{YxmEvex, Yknot0, Yzr}},
}
var _yvpbroadcastmb2q = []ytab{
{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{Yk, YxrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{Yk, YyrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{Yk, Yzr}},
}
var _yvpclmulqdq = []ytab{
{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yxm, Yxr, Yxr}},
{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yym, Yyr, Yyr}},
{zcase: Zevex_i_rm_v_r, zoffset: 3, args: argList{Yu8, YxmEvex, YxrEvex, YxrEvex}},
{zcase: Zevex_i_rm_v_r, zoffset: 3, args: argList{Yu8, YymEvex, YyrEvex, YyrEvex}},
{zcase: Zevex_i_rm_v_r, zoffset: 3, args: argList{Yu8, Yzm, Yzr, Yzr}},
}
var _yvpcmpb = []ytab{
{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YxmEvex, YxrEvex, Yk}},
{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YxmEvex, YxrEvex, Yknot0, Yk}},
{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YymEvex, YyrEvex, Yk}},
{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YymEvex, YyrEvex, Yknot0, Yk}},
{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, Yzm, Yzr, Yk}},
{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, Yzm, Yzr, Yknot0, Yk}},
}
var _yvpcmpeqb = []ytab{
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr, Yxr}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yym, Yyr, Yyr}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex, Yk}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, YxrEvex, Yknot0, Yk}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex, Yk}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YymEvex, YyrEvex, Yknot0, Yk}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr, Yk}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{Yzm, Yzr, Yknot0, Yk}},
}
var _yvperm2f128 = []ytab{
{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yym, Yyr, Yyr}},
}
var _yvpermd = []ytab{
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yym, Yyr, Yyr}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex, YyrEvex}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YymEvex, YyrEvex, Yknot0, YyrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr, Yzr}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{Yzm, Yzr, Yknot0, Yzr}},
}
var _yvpermilpd = []ytab{
{zcase: Zvex_i_rm_r, zoffset: 0, args: argList{Yu8, Yxm, Yxr}},
{zcase: Zvex_i_rm_r, zoffset: 2, args: argList{Yi8, Yxm, Yxr}},
{zcase: Zvex_i_rm_r, zoffset: 0, args: argList{Yu8, Yym, Yyr}},
{zcase: Zvex_i_rm_r, zoffset: 2, args: argList{Yi8, Yym, Yyr}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr, Yxr}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yym, Yyr, Yyr}},
{zcase: Zevex_i_rm_r, zoffset: 0, args: argList{Yu8, YxmEvex, YxrEvex}},
{zcase: Zevex_i_rm_k_r, zoffset: 3, args: argList{Yu8, YxmEvex, Yknot0, YxrEvex}},
{zcase: Zevex_i_rm_r, zoffset: 0, args: argList{Yu8, YymEvex, YyrEvex}},
{zcase: Zevex_i_rm_k_r, zoffset: 3, args: argList{Yu8, YymEvex, Yknot0, YyrEvex}},
{zcase: Zevex_i_rm_r, zoffset: 0, args: argList{Yu8, Yzm, Yzr}},
{zcase: Zevex_i_rm_k_r, zoffset: 3, args: argList{Yu8, Yzm, Yknot0, Yzr}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex, YxrEvex}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, YxrEvex, Yknot0, YxrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex, YyrEvex}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YymEvex, YyrEvex, Yknot0, YyrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr, Yzr}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{Yzm, Yzr, Yknot0, Yzr}},
}
var _yvpermpd = []ytab{
{zcase: Zvex_i_rm_r, zoffset: 2, args: argList{Yu8, Yym, Yyr}},
{zcase: Zevex_i_rm_r, zoffset: 0, args: argList{Yu8, YymEvex, YyrEvex}},
{zcase: Zevex_i_rm_k_r, zoffset: 3, args: argList{Yu8, YymEvex, Yknot0, YyrEvex}},
{zcase: Zevex_i_rm_r, zoffset: 0, args: argList{Yu8, Yzm, Yzr}},
{zcase: Zevex_i_rm_k_r, zoffset: 3, args: argList{Yu8, Yzm, Yknot0, Yzr}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex, YyrEvex}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YymEvex, YyrEvex, Yknot0, YyrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr, Yzr}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{Yzm, Yzr, Yknot0, Yzr}},
}
var _yvpermq = []ytab{
{zcase: Zvex_i_rm_r, zoffset: 0, args: argList{Yu8, Yym, Yyr}},
{zcase: Zvex_i_rm_r, zoffset: 2, args: argList{Yi8, Yym, Yyr}},
{zcase: Zevex_i_rm_r, zoffset: 0, args: argList{Yu8, YymEvex, YyrEvex}},
{zcase: Zevex_i_rm_k_r, zoffset: 3, args: argList{Yu8, YymEvex, Yknot0, YyrEvex}},
{zcase: Zevex_i_rm_r, zoffset: 0, args: argList{Yu8, Yzm, Yzr}},
{zcase: Zevex_i_rm_k_r, zoffset: 3, args: argList{Yu8, Yzm, Yknot0, Yzr}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex, YyrEvex}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YymEvex, YyrEvex, Yknot0, YyrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr, Yzr}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{Yzm, Yzr, Yknot0, Yzr}},
}
var _yvpextrw = []ytab{
{zcase: Zvex_i_r_rm, zoffset: 0, args: argList{Yu8, Yxr, Yml}},
{zcase: Zvex_i_r_rm, zoffset: 2, args: argList{Yi8, Yxr, Yml}},
{zcase: Zvex_i_rm_r, zoffset: 0, args: argList{Yu8, Yxr, Yrl}},
{zcase: Zvex_i_rm_r, zoffset: 2, args: argList{Yi8, Yxr, Yrl}},
{zcase: Zevex_i_r_rm, zoffset: 3, args: argList{Yu8, YxrEvex, Yml}},
{zcase: Zevex_i_rm_r, zoffset: 3, args: argList{Yu8, YxrEvex, Yrl}},
}
var _yvpinsrb = []ytab{
{zcase: Zvex_i_rm_v_r, zoffset: 2, args: argList{Yu8, Yml, Yxr, Yxr}},
{zcase: Zevex_i_rm_v_r, zoffset: 3, args: argList{Yu8, Yml, YxrEvex, YxrEvex}},
}
var _yvpmovb2m = []ytab{
{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{YxrEvex, Yk}},
{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{YyrEvex, Yk}},
{zcase: Zevex_rm_v_r, zoffset: 3, args: argList{Yzr, Yk}},
}
var _yvpmovdb = []ytab{
{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{YxrEvex, YxmEvex}},
{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YxrEvex, Yknot0, YxmEvex}},
{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{YyrEvex, YxmEvex}},
{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YyrEvex, Yknot0, YxmEvex}},
{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{Yzr, YxmEvex}},
{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{Yzr, Yknot0, YxmEvex}},
}
var _yvpmovdw = []ytab{
{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{YxrEvex, YxmEvex}},
{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YxrEvex, Yknot0, YxmEvex}},
{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{YyrEvex, YxmEvex}},
{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YyrEvex, Yknot0, YxmEvex}},
{zcase: Zevex_r_v_rm, zoffset: 0, args: argList{Yzr, YymEvex}},
{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{Yzr, Yknot0, YymEvex}},
}
var _yvprold = []ytab{
{zcase: Zevex_i_rm_vo, zoffset: 0, args: argList{Yu8, YxmEvex, YxrEvex}},
{zcase: Zevex_i_rm_k_vo, zoffset: 4, args: argList{Yu8, YxmEvex, Yknot0, YxrEvex}},
{zcase: Zevex_i_rm_vo, zoffset: 0, args: argList{Yu8, YymEvex, YyrEvex}},
{zcase: Zevex_i_rm_k_vo, zoffset: 4, args: argList{Yu8, YymEvex, Yknot0, YyrEvex}},
{zcase: Zevex_i_rm_vo, zoffset: 0, args: argList{Yu8, Yzm, Yzr}},
{zcase: Zevex_i_rm_k_vo, zoffset: 4, args: argList{Yu8, Yzm, Yknot0, Yzr}},
}
var _yvpscatterdd = []ytab{
{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YxrEvex, Yknot0, YxvmEvex}},
{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YyrEvex, Yknot0, YyvmEvex}},
{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{Yzr, Yknot0, Yzvm}},
}
var _yvpscatterdq = []ytab{
{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YxrEvex, Yknot0, YxvmEvex}},
{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YyrEvex, Yknot0, YxvmEvex}},
{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{Yzr, Yknot0, YyvmEvex}},
}
var _yvpscatterqd = []ytab{
{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YxrEvex, Yknot0, YxvmEvex}},
{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YxrEvex, Yknot0, YyvmEvex}},
{zcase: Zevex_r_k_rm, zoffset: 3, args: argList{YyrEvex, Yknot0, Yzvm}},
}
var _yvpshufbitqmb = []ytab{
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex, Yk}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, YxrEvex, Yknot0, Yk}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex, Yk}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YymEvex, YyrEvex, Yknot0, Yk}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr, Yk}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{Yzm, Yzr, Yknot0, Yk}},
}
var _yvpshufd = []ytab{
{zcase: Zvex_i_rm_r, zoffset: 0, args: argList{Yu8, Yxm, Yxr}},
{zcase: Zvex_i_rm_r, zoffset: 2, args: argList{Yi8, Yxm, Yxr}},
{zcase: Zvex_i_rm_r, zoffset: 0, args: argList{Yu8, Yym, Yyr}},
{zcase: Zvex_i_rm_r, zoffset: 2, args: argList{Yi8, Yym, Yyr}},
{zcase: Zevex_i_rm_r, zoffset: 0, args: argList{Yu8, YxmEvex, YxrEvex}},
{zcase: Zevex_i_rm_k_r, zoffset: 3, args: argList{Yu8, YxmEvex, Yknot0, YxrEvex}},
{zcase: Zevex_i_rm_r, zoffset: 0, args: argList{Yu8, YymEvex, YyrEvex}},
{zcase: Zevex_i_rm_k_r, zoffset: 3, args: argList{Yu8, YymEvex, Yknot0, YyrEvex}},
{zcase: Zevex_i_rm_r, zoffset: 0, args: argList{Yu8, Yzm, Yzr}},
{zcase: Zevex_i_rm_k_r, zoffset: 3, args: argList{Yu8, Yzm, Yknot0, Yzr}},
}
var _yvpslld = []ytab{
{zcase: Zvex_i_rm_vo, zoffset: 0, args: argList{Yu8, Yxr, Yxr}},
{zcase: Zvex_i_rm_vo, zoffset: 3, args: argList{Yi8, Yxr, Yxr}},
{zcase: Zvex_i_rm_vo, zoffset: 0, args: argList{Yu8, Yyr, Yyr}},
{zcase: Zvex_i_rm_vo, zoffset: 3, args: argList{Yi8, Yyr, Yyr}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr, Yxr}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yyr, Yyr}},
{zcase: Zevex_i_rm_vo, zoffset: 0, args: argList{Yu8, YxmEvex, YxrEvex}},
{zcase: Zevex_i_rm_k_vo, zoffset: 4, args: argList{Yu8, YxmEvex, Yknot0, YxrEvex}},
{zcase: Zevex_i_rm_vo, zoffset: 0, args: argList{Yu8, YymEvex, YyrEvex}},
{zcase: Zevex_i_rm_k_vo, zoffset: 4, args: argList{Yu8, YymEvex, Yknot0, YyrEvex}},
{zcase: Zevex_i_rm_vo, zoffset: 0, args: argList{Yu8, Yzm, Yzr}},
{zcase: Zevex_i_rm_k_vo, zoffset: 4, args: argList{Yu8, Yzm, Yknot0, Yzr}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex, YxrEvex}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, YxrEvex, Yknot0, YxrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YyrEvex, YyrEvex}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, YyrEvex, Yknot0, YyrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, Yzr, Yzr}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, Yzr, Yknot0, Yzr}},
}
var _yvpslldq = []ytab{
{zcase: Zvex_i_rm_vo, zoffset: 0, args: argList{Yu8, Yxr, Yxr}},
{zcase: Zvex_i_rm_vo, zoffset: 3, args: argList{Yi8, Yxr, Yxr}},
{zcase: Zvex_i_rm_vo, zoffset: 0, args: argList{Yu8, Yyr, Yyr}},
{zcase: Zvex_i_rm_vo, zoffset: 3, args: argList{Yi8, Yyr, Yyr}},
{zcase: Zevex_i_rm_vo, zoffset: 4, args: argList{Yu8, YxmEvex, YxrEvex}},
{zcase: Zevex_i_rm_vo, zoffset: 4, args: argList{Yu8, YymEvex, YyrEvex}},
{zcase: Zevex_i_rm_vo, zoffset: 4, args: argList{Yu8, Yzm, Yzr}},
}
var _yvpsraq = []ytab{
{zcase: Zevex_i_rm_vo, zoffset: 0, args: argList{Yu8, YxmEvex, YxrEvex}},
{zcase: Zevex_i_rm_k_vo, zoffset: 4, args: argList{Yu8, YxmEvex, Yknot0, YxrEvex}},
{zcase: Zevex_i_rm_vo, zoffset: 0, args: argList{Yu8, YymEvex, YyrEvex}},
{zcase: Zevex_i_rm_k_vo, zoffset: 4, args: argList{Yu8, YymEvex, Yknot0, YyrEvex}},
{zcase: Zevex_i_rm_vo, zoffset: 0, args: argList{Yu8, Yzm, Yzr}},
{zcase: Zevex_i_rm_k_vo, zoffset: 4, args: argList{Yu8, Yzm, Yknot0, Yzr}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex, YxrEvex}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, YxrEvex, Yknot0, YxrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YyrEvex, YyrEvex}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, YyrEvex, Yknot0, YyrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, Yzr, Yzr}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, Yzr, Yknot0, Yzr}},
}
var _yvptest = []ytab{
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr}},
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yym, Yyr}},
}
var _yvrcpss = []ytab{
{zcase: Zvex_rm_v_r, zoffset: 2, args: argList{Yxm, Yxr, Yxr}},
}
var _yvroundpd = []ytab{
{zcase: Zvex_i_rm_r, zoffset: 0, args: argList{Yu8, Yxm, Yxr}},
{zcase: Zvex_i_rm_r, zoffset: 2, args: argList{Yi8, Yxm, Yxr}},
{zcase: Zvex_i_rm_r, zoffset: 0, args: argList{Yu8, Yym, Yyr}},
{zcase: Zvex_i_rm_r, zoffset: 2, args: argList{Yi8, Yym, Yyr}},
}
var _yvscalefpd = []ytab{
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{Yzm, Yzr, Yzr}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{Yzm, Yzr, Yknot0, Yzr}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YxmEvex, YxrEvex, YxrEvex}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YxmEvex, YxrEvex, Yknot0, YxrEvex}},
{zcase: Zevex_rm_v_r, zoffset: 0, args: argList{YymEvex, YyrEvex, YyrEvex}},
{zcase: Zevex_rm_v_k_r, zoffset: 3, args: argList{YymEvex, YyrEvex, Yknot0, YyrEvex}},
}
var _yvshuff32x4 = []ytab{
{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, YymEvex, YyrEvex, YyrEvex}},
{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, YymEvex, YyrEvex, Yknot0, YyrEvex}},
{zcase: Zevex_i_rm_v_r, zoffset: 0, args: argList{Yu8, Yzm, Yzr, Yzr}},
{zcase: Zevex_i_rm_v_k_r, zoffset: 3, args: argList{Yu8, Yzm, Yzr, Yknot0, Yzr}},
}
var _yvzeroall = []ytab{
{zcase: Zvex, zoffset: 2, args: argList{}},
}
var avxOptab = [...]Optab{
{as: AANDNL, ytab: _yandnl, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F38 | vexW0, 0xF2,
}},
{as: AANDNQ, ytab: _yandnl, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F38 | vexW1, 0xF2,
}},
{as: ABEXTRL, ytab: _ybextrl, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F38 | vexW0, 0xF7,
}},
{as: ABEXTRQ, ytab: _ybextrl, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F38 | vexW1, 0xF7,
}},
{as: ABLSIL, ytab: _yblsil, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F38 | vexW0, 0xF3, 03,
}},
{as: ABLSIQ, ytab: _yblsil, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F38 | vexW1, 0xF3, 03,
}},
{as: ABLSMSKL, ytab: _yblsil, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F38 | vexW0, 0xF3, 02,
}},
{as: ABLSMSKQ, ytab: _yblsil, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F38 | vexW1, 0xF3, 02,
}},
{as: ABLSRL, ytab: _yblsil, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F38 | vexW0, 0xF3, 01,
}},
{as: ABLSRQ, ytab: _yblsil, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F38 | vexW1, 0xF3, 01,
}},
{as: ABZHIL, ytab: _ybextrl, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F38 | vexW0, 0xF5,
}},
{as: ABZHIQ, ytab: _ybextrl, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F38 | vexW1, 0xF5,
}},
{as: AKADDB, ytab: _ykaddb, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x4A,
}},
{as: AKADDD, ytab: _ykaddb, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex66 | vex0F | vexW1, 0x4A,
}},
{as: AKADDQ, ytab: _ykaddb, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex0F | vexW1, 0x4A,
}},
{as: AKADDW, ytab: _ykaddb, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex0F | vexW0, 0x4A,
}},
{as: AKANDB, ytab: _ykaddb, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x41,
}},
{as: AKANDD, ytab: _ykaddb, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex66 | vex0F | vexW1, 0x41,
}},
{as: AKANDNB, ytab: _ykaddb, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x42,
}},
{as: AKANDND, ytab: _ykaddb, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex66 | vex0F | vexW1, 0x42,
}},
{as: AKANDNQ, ytab: _ykaddb, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex0F | vexW1, 0x42,
}},
{as: AKANDNW, ytab: _ykaddb, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex0F | vexW0, 0x42,
}},
{as: AKANDQ, ytab: _ykaddb, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex0F | vexW1, 0x41,
}},
{as: AKANDW, ytab: _ykaddb, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex0F | vexW0, 0x41,
}},
{as: AKMOVB, ytab: _ykmovb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x91,
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x93,
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x90,
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x92,
}},
{as: AKMOVD, ytab: _ykmovb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW1, 0x91,
avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x93,
avxEscape | vex128 | vex66 | vex0F | vexW1, 0x90,
avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x92,
}},
{as: AKMOVQ, ytab: _ykmovb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW1, 0x91,
avxEscape | vex128 | vexF2 | vex0F | vexW1, 0x93,
avxEscape | vex128 | vex0F | vexW1, 0x90,
avxEscape | vex128 | vexF2 | vex0F | vexW1, 0x92,
}},
{as: AKMOVW, ytab: _ykmovb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0x91,
avxEscape | vex128 | vex0F | vexW0, 0x93,
avxEscape | vex128 | vex0F | vexW0, 0x90,
avxEscape | vex128 | vex0F | vexW0, 0x92,
}},
{as: AKNOTB, ytab: _yknotb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x44,
}},
{as: AKNOTD, ytab: _yknotb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW1, 0x44,
}},
{as: AKNOTQ, ytab: _yknotb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW1, 0x44,
}},
{as: AKNOTW, ytab: _yknotb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0x44,
}},
{as: AKORB, ytab: _ykaddb, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x45,
}},
{as: AKORD, ytab: _ykaddb, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex66 | vex0F | vexW1, 0x45,
}},
{as: AKORQ, ytab: _ykaddb, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex0F | vexW1, 0x45,
}},
{as: AKORTESTB, ytab: _yknotb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x98,
}},
{as: AKORTESTD, ytab: _yknotb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW1, 0x98,
}},
{as: AKORTESTQ, ytab: _yknotb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW1, 0x98,
}},
{as: AKORTESTW, ytab: _yknotb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0x98,
}},
{as: AKORW, ytab: _ykaddb, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex0F | vexW0, 0x45,
}},
{as: AKSHIFTLB, ytab: _ykshiftlb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x32,
}},
{as: AKSHIFTLD, ytab: _ykshiftlb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x33,
}},
{as: AKSHIFTLQ, ytab: _ykshiftlb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW1, 0x33,
}},
{as: AKSHIFTLW, ytab: _ykshiftlb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW1, 0x32,
}},
{as: AKSHIFTRB, ytab: _ykshiftlb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x30,
}},
{as: AKSHIFTRD, ytab: _ykshiftlb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x31,
}},
{as: AKSHIFTRQ, ytab: _ykshiftlb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW1, 0x31,
}},
{as: AKSHIFTRW, ytab: _ykshiftlb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW1, 0x30,
}},
{as: AKTESTB, ytab: _yknotb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x99,
}},
{as: AKTESTD, ytab: _yknotb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW1, 0x99,
}},
{as: AKTESTQ, ytab: _yknotb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW1, 0x99,
}},
{as: AKTESTW, ytab: _yknotb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0x99,
}},
{as: AKUNPCKBW, ytab: _ykaddb, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x4B,
}},
{as: AKUNPCKDQ, ytab: _ykaddb, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex0F | vexW1, 0x4B,
}},
{as: AKUNPCKWD, ytab: _ykaddb, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex0F | vexW0, 0x4B,
}},
{as: AKXNORB, ytab: _ykaddb, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x46,
}},
{as: AKXNORD, ytab: _ykaddb, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex66 | vex0F | vexW1, 0x46,
}},
{as: AKXNORQ, ytab: _ykaddb, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex0F | vexW1, 0x46,
}},
{as: AKXNORW, ytab: _ykaddb, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex0F | vexW0, 0x46,
}},
{as: AKXORB, ytab: _ykaddb, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x47,
}},
{as: AKXORD, ytab: _ykaddb, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex66 | vex0F | vexW1, 0x47,
}},
{as: AKXORQ, ytab: _ykaddb, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex0F | vexW1, 0x47,
}},
{as: AKXORW, ytab: _ykaddb, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex0F | vexW0, 0x47,
}},
{as: AMULXL, ytab: _yandnl, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF2 | vex0F38 | vexW0, 0xF6,
}},
{as: AMULXQ, ytab: _yandnl, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF2 | vex0F38 | vexW1, 0xF6,
}},
{as: APDEPL, ytab: _yandnl, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF2 | vex0F38 | vexW0, 0xF5,
}},
{as: APDEPQ, ytab: _yandnl, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF2 | vex0F38 | vexW1, 0xF5,
}},
{as: APEXTL, ytab: _yandnl, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF3 | vex0F38 | vexW0, 0xF5,
}},
{as: APEXTQ, ytab: _yandnl, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF3 | vex0F38 | vexW1, 0xF5,
}},
{as: ARORXL, ytab: _yrorxl, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF2 | vex0F3A | vexW0, 0xF0,
}},
{as: ARORXQ, ytab: _yrorxl, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF2 | vex0F3A | vexW1, 0xF0,
}},
{as: ASARXL, ytab: _ybextrl, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF3 | vex0F38 | vexW0, 0xF7,
}},
{as: ASARXQ, ytab: _ybextrl, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF3 | vex0F38 | vexW1, 0xF7,
}},
{as: ASHLXL, ytab: _ybextrl, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xF7,
}},
{as: ASHLXQ, ytab: _ybextrl, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xF7,
}},
{as: ASHRXL, ytab: _ybextrl, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF2 | vex0F38 | vexW0, 0xF7,
}},
{as: ASHRXQ, ytab: _ybextrl, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF2 | vex0F38 | vexW1, 0xF7,
}},
{as: AV4FMADDPS, ytab: _yv4fmaddps, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evexF2 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x9A,
}},
{as: AV4FMADDSS, ytab: _yv4fmaddss, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF2 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x9B,
}},
{as: AV4FNMADDPS, ytab: _yv4fmaddps, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evexF2 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0xAA,
}},
{as: AV4FNMADDSS, ytab: _yv4fmaddss, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF2 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0xAB,
}},
{as: AVADDPD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x58,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x58,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x58,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x58,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x58,
}},
{as: AVADDPS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0x58,
avxEscape | vex256 | vex0F | vexW0, 0x58,
avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x58,
avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x58,
avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x58,
}},
{as: AVADDSD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x58,
avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0x58,
}},
{as: AVADDSS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x58,
avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0x58,
}},
{as: AVADDSUBPD, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xD0,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xD0,
}},
{as: AVADDSUBPS, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF2 | vex0F | vexW0, 0xD0,
avxEscape | vex256 | vexF2 | vex0F | vexW0, 0xD0,
}},
{as: AVAESDEC, ytab: _yvaesdec, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xDE,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xDE,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16, 0xDE,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32, 0xDE,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64, 0xDE,
}},
{as: AVAESDECLAST, ytab: _yvaesdec, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xDF,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xDF,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16, 0xDF,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32, 0xDF,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64, 0xDF,
}},
{as: AVAESENC, ytab: _yvaesdec, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xDC,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xDC,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16, 0xDC,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32, 0xDC,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64, 0xDC,
}},
{as: AVAESENCLAST, ytab: _yvaesdec, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xDD,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xDD,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16, 0xDD,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32, 0xDD,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64, 0xDD,
}},
{as: AVAESIMC, ytab: _yvaesimc, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xDB,
}},
{as: AVAESKEYGENASSIST, ytab: _yvaeskeygenassist, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0xDF,
}},
{as: AVALIGND, ytab: _yvalignd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x03,
avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x03,
avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x03,
}},
{as: AVALIGNQ, ytab: _yvalignd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x03,
avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x03,
avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x03,
}},
{as: AVANDNPD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x55,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x55,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x55,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x55,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x55,
}},
{as: AVANDNPS, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0x55,
avxEscape | vex256 | vex0F | vexW0, 0x55,
avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x55,
avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x55,
avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x55,
}},
{as: AVANDPD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x54,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x54,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x54,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x54,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x54,
}},
{as: AVANDPS, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0x54,
avxEscape | vex256 | vex0F | vexW0, 0x54,
avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x54,
avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x54,
avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x54,
}},
{as: AVBLENDMPD, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x65,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x65,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x65,
}},
{as: AVBLENDMPS, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x65,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x65,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x65,
}},
{as: AVBLENDPD, ytab: _yvblendpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x0D,
avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x0D,
}},
{as: AVBLENDPS, ytab: _yvblendpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x0C,
avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x0C,
}},
{as: AVBLENDVPD, ytab: _yvblendvpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x4B,
avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x4B,
}},
{as: AVBLENDVPS, ytab: _yvblendvpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x4A,
avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x4A,
}},
{as: AVBROADCASTF128, ytab: _yvbroadcastf128, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x1A,
}},
{as: AVBROADCASTF32X2, ytab: _yvbroadcastf32x2, prefix: Pavx, op: opBytes{
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x19,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x19,
}},
{as: AVBROADCASTF32X4, ytab: _yvbroadcastf32x4, prefix: Pavx, op: opBytes{
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x1A,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x1A,
}},
{as: AVBROADCASTF32X8, ytab: _yvbroadcastf32x8, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x1B,
}},
{as: AVBROADCASTF64X2, ytab: _yvbroadcastf32x4, prefix: Pavx, op: opBytes{
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN16 | evexZeroingEnabled, 0x1A,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN16 | evexZeroingEnabled, 0x1A,
}},
{as: AVBROADCASTF64X4, ytab: _yvbroadcastf32x8, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN32 | evexZeroingEnabled, 0x1B,
}},
{as: AVBROADCASTI128, ytab: _yvbroadcastf128, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x5A,
}},
{as: AVBROADCASTI32X2, ytab: _yvbroadcasti32x2, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x59,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x59,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x59,
}},
{as: AVBROADCASTI32X4, ytab: _yvbroadcastf32x4, prefix: Pavx, op: opBytes{
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x5A,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x5A,
}},
{as: AVBROADCASTI32X8, ytab: _yvbroadcastf32x8, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x5B,
}},
{as: AVBROADCASTI64X2, ytab: _yvbroadcastf32x4, prefix: Pavx, op: opBytes{
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN16 | evexZeroingEnabled, 0x5A,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN16 | evexZeroingEnabled, 0x5A,
}},
{as: AVBROADCASTI64X4, ytab: _yvbroadcastf32x8, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN32 | evexZeroingEnabled, 0x5B,
}},
{as: AVBROADCASTSD, ytab: _yvbroadcastsd, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x19,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x19,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x19,
}},
{as: AVBROADCASTSS, ytab: _yvbroadcastss, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x18,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x18,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x18,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x18,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x18,
}},
{as: AVCMPPD, ytab: _yvcmppd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xC2,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xC2,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled, 0xC2,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8, 0xC2,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8, 0xC2,
}},
{as: AVCMPPS, ytab: _yvcmppd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0xC2,
avxEscape | vex256 | vex0F | vexW0, 0xC2,
avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexSaeEnabled, 0xC2,
avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4, 0xC2,
avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4, 0xC2,
}},
{as: AVCMPSD, ytab: _yvcmpsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF2 | vex0F | vexW0, 0xC2,
avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexSaeEnabled, 0xC2,
}},
{as: AVCMPSS, ytab: _yvcmpsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF3 | vex0F | vexW0, 0xC2,
avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4 | evexSaeEnabled, 0xC2,
}},
{as: AVCOMISD, ytab: _yvcomisd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x2F,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN8 | evexSaeEnabled, 0x2F,
}},
{as: AVCOMISS, ytab: _yvcomisd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0x2F,
avxEscape | evex128 | evex0F | evexW0, evexN4 | evexSaeEnabled, 0x2F,
}},
{as: AVCOMPRESSPD, ytab: _yvcompresspd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x8A,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x8A,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x8A,
}},
{as: AVCOMPRESSPS, ytab: _yvcompresspd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x8A,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x8A,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x8A,
}},
{as: AVCVTDQ2PD, ytab: _yvcvtdq2pd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF3 | vex0F | vexW0, 0xE6,
avxEscape | vex256 | vexF3 | vex0F | vexW0, 0xE6,
avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN8 | evexBcstN4 | evexZeroingEnabled, 0xE6,
avxEscape | evex256 | evexF3 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xE6,
avxEscape | evex512 | evexF3 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xE6,
}},
{as: AVCVTDQ2PS, ytab: _yvcvtdq2ps, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0x5B,
avxEscape | vex256 | vex0F | vexW0, 0x5B,
avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x5B,
avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x5B,
avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x5B,
}},
{as: AVCVTPD2DQ, ytab: _yvcvtpd2dq, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evexF2 | evex0F | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0xE6,
}},
{as: AVCVTPD2DQX, ytab: _yvcvtpd2dqx, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF2 | vex0F | vexW0, 0xE6,
avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xE6,
}},
{as: AVCVTPD2DQY, ytab: _yvcvtpd2dqy, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vexF2 | vex0F | vexW0, 0xE6,
avxEscape | evex256 | evexF2 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xE6,
}},
{as: AVCVTPD2PS, ytab: _yvcvtpd2dq, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x5A,
}},
{as: AVCVTPD2PSX, ytab: _yvcvtpd2dqx, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x5A,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x5A,
}},
{as: AVCVTPD2PSY, ytab: _yvcvtpd2dqy, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x5A,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x5A,
}},
{as: AVCVTPD2QQ, ytab: _yvcvtpd2qq, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x7B,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x7B,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x7B,
}},
{as: AVCVTPD2UDQ, ytab: _yvcvtpd2dq, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex0F | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x79,
}},
{as: AVCVTPD2UDQX, ytab: _yvcvtpd2udqx, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x79,
}},
{as: AVCVTPD2UDQY, ytab: _yvcvtpd2udqy, prefix: Pavx, op: opBytes{
avxEscape | evex256 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x79,
}},
{as: AVCVTPD2UQQ, ytab: _yvcvtpd2qq, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x79,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x79,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x79,
}},
{as: AVCVTPH2PS, ytab: _yvcvtph2ps, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x13,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x13,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN32 | evexSaeEnabled | evexZeroingEnabled, 0x13,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x13,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x13,
}},
{as: AVCVTPS2DQ, ytab: _yvcvtdq2ps, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x5B,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x5B,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x5B,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x5B,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x5B,
}},
{as: AVCVTPS2PD, ytab: _yvcvtph2ps, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0x5A,
avxEscape | vex256 | vex0F | vexW0, 0x5A,
avxEscape | evex512 | evex0F | evexW0, evexN32 | evexBcstN4 | evexSaeEnabled | evexZeroingEnabled, 0x5A,
avxEscape | evex128 | evex0F | evexW0, evexN8 | evexBcstN4 | evexZeroingEnabled, 0x5A,
avxEscape | evex256 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x5A,
}},
{as: AVCVTPS2PH, ytab: _yvcvtps2ph, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x1D,
avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x1D,
avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN32 | evexSaeEnabled | evexZeroingEnabled, 0x1D,
avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN8 | evexZeroingEnabled, 0x1D,
avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN16 | evexZeroingEnabled, 0x1D,
}},
{as: AVCVTPS2QQ, ytab: _yvcvtps2qq, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x7B,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN8 | evexBcstN4 | evexZeroingEnabled, 0x7B,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x7B,
}},
{as: AVCVTPS2UDQ, ytab: _yvcvtpd2qq, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x79,
avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x79,
avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x79,
}},
{as: AVCVTPS2UQQ, ytab: _yvcvtps2qq, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x79,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN8 | evexBcstN4 | evexZeroingEnabled, 0x79,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x79,
}},
{as: AVCVTQQ2PD, ytab: _yvcvtpd2qq, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evexF3 | evex0F | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0xE6,
avxEscape | evex128 | evexF3 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xE6,
avxEscape | evex256 | evexF3 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xE6,
}},
{as: AVCVTQQ2PS, ytab: _yvcvtpd2dq, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex0F | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x5B,
}},
{as: AVCVTQQ2PSX, ytab: _yvcvtpd2udqx, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x5B,
}},
{as: AVCVTQQ2PSY, ytab: _yvcvtpd2udqy, prefix: Pavx, op: opBytes{
avxEscape | evex256 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x5B,
}},
{as: AVCVTSD2SI, ytab: _yvcvtsd2si, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x2D,
avxEscape | evex128 | evexF2 | evex0F | evexW0, evexN8 | evexRoundingEnabled, 0x2D,
}},
{as: AVCVTSD2SIQ, ytab: _yvcvtsd2si, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF2 | vex0F | vexW1, 0x2D,
avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexRoundingEnabled, 0x2D,
}},
{as: AVCVTSD2SS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x5A,
avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0x5A,
}},
{as: AVCVTSD2USIL, ytab: _yvcvtsd2usil, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF2 | evex0F | evexW0, evexN8 | evexRoundingEnabled, 0x79,
}},
{as: AVCVTSD2USIQ, ytab: _yvcvtsd2usil, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexRoundingEnabled, 0x79,
}},
{as: AVCVTSI2SDL, ytab: _yvcvtsi2sdl, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x2A,
avxEscape | evex128 | evexF2 | evex0F | evexW0, evexN4, 0x2A,
}},
{as: AVCVTSI2SDQ, ytab: _yvcvtsi2sdl, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF2 | vex0F | vexW1, 0x2A,
avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexRoundingEnabled, 0x2A,
}},
{as: AVCVTSI2SSL, ytab: _yvcvtsi2sdl, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x2A,
avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4 | evexRoundingEnabled, 0x2A,
}},
{as: AVCVTSI2SSQ, ytab: _yvcvtsi2sdl, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF3 | vex0F | vexW1, 0x2A,
avxEscape | evex128 | evexF3 | evex0F | evexW1, evexN8 | evexRoundingEnabled, 0x2A,
}},
{as: AVCVTSS2SD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x5A,
avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4 | evexSaeEnabled | evexZeroingEnabled, 0x5A,
}},
{as: AVCVTSS2SI, ytab: _yvcvtsd2si, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x2D,
avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4 | evexRoundingEnabled, 0x2D,
}},
{as: AVCVTSS2SIQ, ytab: _yvcvtsd2si, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF3 | vex0F | vexW1, 0x2D,
avxEscape | evex128 | evexF3 | evex0F | evexW1, evexN4 | evexRoundingEnabled, 0x2D,
}},
{as: AVCVTSS2USIL, ytab: _yvcvtsd2usil, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4 | evexRoundingEnabled, 0x79,
}},
{as: AVCVTSS2USIQ, ytab: _yvcvtsd2usil, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F | evexW1, evexN4 | evexRoundingEnabled, 0x79,
}},
{as: AVCVTTPD2DQ, ytab: _yvcvtpd2dq, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled | evexZeroingEnabled, 0xE6,
}},
{as: AVCVTTPD2DQX, ytab: _yvcvtpd2dqx, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xE6,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xE6,
}},
{as: AVCVTTPD2DQY, ytab: _yvcvtpd2dqy, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xE6,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xE6,
}},
{as: AVCVTTPD2QQ, ytab: _yvcvtpd2qq, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled | evexZeroingEnabled, 0x7A,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x7A,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x7A,
}},
{as: AVCVTTPD2UDQ, ytab: _yvcvtpd2dq, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex0F | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled | evexZeroingEnabled, 0x78,
}},
{as: AVCVTTPD2UDQX, ytab: _yvcvtpd2udqx, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x78,
}},
{as: AVCVTTPD2UDQY, ytab: _yvcvtpd2udqy, prefix: Pavx, op: opBytes{
avxEscape | evex256 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x78,
}},
{as: AVCVTTPD2UQQ, ytab: _yvcvtpd2qq, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled | evexZeroingEnabled, 0x78,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x78,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x78,
}},
{as: AVCVTTPS2DQ, ytab: _yvcvtdq2ps, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x5B,
avxEscape | vex256 | vexF3 | vex0F | vexW0, 0x5B,
avxEscape | evex512 | evexF3 | evex0F | evexW0, evexN64 | evexBcstN4 | evexSaeEnabled | evexZeroingEnabled, 0x5B,
avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x5B,
avxEscape | evex256 | evexF3 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x5B,
}},
{as: AVCVTTPS2QQ, ytab: _yvcvtps2qq, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexSaeEnabled | evexZeroingEnabled, 0x7A,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN8 | evexBcstN4 | evexZeroingEnabled, 0x7A,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x7A,
}},
{as: AVCVTTPS2UDQ, ytab: _yvcvtpd2qq, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexSaeEnabled | evexZeroingEnabled, 0x78,
avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x78,
avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x78,
}},
{as: AVCVTTPS2UQQ, ytab: _yvcvtps2qq, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexSaeEnabled | evexZeroingEnabled, 0x78,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN8 | evexBcstN4 | evexZeroingEnabled, 0x78,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x78,
}},
{as: AVCVTTSD2SI, ytab: _yvcvtsd2si, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x2C,
avxEscape | evex128 | evexF2 | evex0F | evexW0, evexN8 | evexSaeEnabled, 0x2C,
}},
{as: AVCVTTSD2SIQ, ytab: _yvcvtsd2si, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF2 | vex0F | vexW1, 0x2C,
avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexSaeEnabled, 0x2C,
}},
{as: AVCVTTSD2USIL, ytab: _yvcvtsd2usil, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF2 | evex0F | evexW0, evexN8 | evexSaeEnabled, 0x78,
}},
{as: AVCVTTSD2USIQ, ytab: _yvcvtsd2usil, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexSaeEnabled, 0x78,
}},
{as: AVCVTTSS2SI, ytab: _yvcvtsd2si, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x2C,
avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4 | evexSaeEnabled, 0x2C,
}},
{as: AVCVTTSS2SIQ, ytab: _yvcvtsd2si, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF3 | vex0F | vexW1, 0x2C,
avxEscape | evex128 | evexF3 | evex0F | evexW1, evexN4 | evexSaeEnabled, 0x2C,
}},
{as: AVCVTTSS2USIL, ytab: _yvcvtsd2usil, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4 | evexSaeEnabled, 0x78,
}},
{as: AVCVTTSS2USIQ, ytab: _yvcvtsd2usil, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F | evexW1, evexN4 | evexSaeEnabled, 0x78,
}},
{as: AVCVTUDQ2PD, ytab: _yvcvtudq2pd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN8 | evexBcstN4 | evexZeroingEnabled, 0x7A,
avxEscape | evex256 | evexF3 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x7A,
avxEscape | evex512 | evexF3 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x7A,
}},
{as: AVCVTUDQ2PS, ytab: _yvcvtpd2qq, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evexF2 | evex0F | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x7A,
avxEscape | evex128 | evexF2 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x7A,
avxEscape | evex256 | evexF2 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x7A,
}},
{as: AVCVTUQQ2PD, ytab: _yvcvtpd2qq, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evexF3 | evex0F | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x7A,
avxEscape | evex128 | evexF3 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x7A,
avxEscape | evex256 | evexF3 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x7A,
}},
{as: AVCVTUQQ2PS, ytab: _yvcvtpd2dq, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evexF2 | evex0F | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x7A,
}},
{as: AVCVTUQQ2PSX, ytab: _yvcvtpd2udqx, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x7A,
}},
{as: AVCVTUQQ2PSY, ytab: _yvcvtpd2udqy, prefix: Pavx, op: opBytes{
avxEscape | evex256 | evexF2 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x7A,
}},
{as: AVCVTUSI2SDL, ytab: _yvcvtusi2sdl, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF2 | evex0F | evexW0, evexN4, 0x7B,
}},
{as: AVCVTUSI2SDQ, ytab: _yvcvtusi2sdl, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexRoundingEnabled, 0x7B,
}},
{as: AVCVTUSI2SSL, ytab: _yvcvtusi2sdl, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4 | evexRoundingEnabled, 0x7B,
}},
{as: AVCVTUSI2SSQ, ytab: _yvcvtusi2sdl, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F | evexW1, evexN8 | evexRoundingEnabled, 0x7B,
}},
{as: AVDBPSADBW, ytab: _yvalignd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16 | evexZeroingEnabled, 0x42,
avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexZeroingEnabled, 0x42,
avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexZeroingEnabled, 0x42,
}},
{as: AVDIVPD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x5E,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x5E,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x5E,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x5E,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x5E,
}},
{as: AVDIVPS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0x5E,
avxEscape | vex256 | vex0F | vexW0, 0x5E,
avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x5E,
avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x5E,
avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x5E,
}},
{as: AVDIVSD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x5E,
avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0x5E,
}},
{as: AVDIVSS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x5E,
avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0x5E,
}},
{as: AVDPPD, ytab: _yvdppd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x41,
}},
{as: AVDPPS, ytab: _yvblendpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x40,
avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x40,
}},
{as: AVEXP2PD, ytab: _yvexp2pd, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled | evexZeroingEnabled, 0xC8,
}},
{as: AVEXP2PS, ytab: _yvexp2pd, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexSaeEnabled | evexZeroingEnabled, 0xC8,
}},
{as: AVEXPANDPD, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x88,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x88,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x88,
}},
{as: AVEXPANDPS, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x88,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x88,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x88,
}},
{as: AVEXTRACTF128, ytab: _yvextractf128, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x19,
}},
{as: AVEXTRACTF32X4, ytab: _yvextractf32x4, prefix: Pavx, op: opBytes{
avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN16 | evexZeroingEnabled, 0x19,
avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN16 | evexZeroingEnabled, 0x19,
}},
{as: AVEXTRACTF32X8, ytab: _yvextractf32x8, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN32 | evexZeroingEnabled, 0x1B,
}},
{as: AVEXTRACTF64X2, ytab: _yvextractf32x4, prefix: Pavx, op: opBytes{
avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN16 | evexZeroingEnabled, 0x19,
avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN16 | evexZeroingEnabled, 0x19,
}},
{as: AVEXTRACTF64X4, ytab: _yvextractf32x8, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN32 | evexZeroingEnabled, 0x1B,
}},
{as: AVEXTRACTI128, ytab: _yvextractf128, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x39,
}},
{as: AVEXTRACTI32X4, ytab: _yvextractf32x4, prefix: Pavx, op: opBytes{
avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN16 | evexZeroingEnabled, 0x39,
avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN16 | evexZeroingEnabled, 0x39,
}},
{as: AVEXTRACTI32X8, ytab: _yvextractf32x8, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN32 | evexZeroingEnabled, 0x3B,
}},
{as: AVEXTRACTI64X2, ytab: _yvextractf32x4, prefix: Pavx, op: opBytes{
avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN16 | evexZeroingEnabled, 0x39,
avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN16 | evexZeroingEnabled, 0x39,
}},
{as: AVEXTRACTI64X4, ytab: _yvextractf32x8, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN32 | evexZeroingEnabled, 0x3B,
}},
{as: AVEXTRACTPS, ytab: _yvextractps, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x17,
avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN4, 0x17,
}},
{as: AVFIXUPIMMPD, ytab: _yvfixupimmpd, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled | evexZeroingEnabled, 0x54,
avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x54,
avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x54,
}},
{as: AVFIXUPIMMPS, ytab: _yvfixupimmpd, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexBcstN4 | evexSaeEnabled | evexZeroingEnabled, 0x54,
avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x54,
avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x54,
}},
{as: AVFIXUPIMMSD, ytab: _yvfixupimmsd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN8 | evexSaeEnabled | evexZeroingEnabled, 0x55,
}},
{as: AVFIXUPIMMSS, ytab: _yvfixupimmsd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN4 | evexSaeEnabled | evexZeroingEnabled, 0x55,
}},
{as: AVFMADD132PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x98,
avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0x98,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x98,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x98,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x98,
}},
{as: AVFMADD132PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x98,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x98,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x98,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x98,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x98,
}},
{as: AVFMADD132SD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x99,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0x99,
}},
{as: AVFMADD132SS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x99,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0x99,
}},
{as: AVFMADD213PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xA8,
avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0xA8,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0xA8,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xA8,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xA8,
}},
{as: AVFMADD213PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xA8,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xA8,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0xA8,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xA8,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xA8,
}},
{as: AVFMADD213SD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xA9,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0xA9,
}},
{as: AVFMADD213SS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xA9,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0xA9,
}},
{as: AVFMADD231PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xB8,
avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0xB8,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0xB8,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xB8,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xB8,
}},
{as: AVFMADD231PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xB8,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xB8,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0xB8,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xB8,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xB8,
}},
{as: AVFMADD231SD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xB9,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0xB9,
}},
{as: AVFMADD231SS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xB9,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0xB9,
}},
{as: AVFMADDSUB132PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x96,
avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0x96,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x96,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x96,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x96,
}},
{as: AVFMADDSUB132PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x96,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x96,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x96,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x96,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x96,
}},
{as: AVFMADDSUB213PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xA6,
avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0xA6,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0xA6,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xA6,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xA6,
}},
{as: AVFMADDSUB213PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xA6,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xA6,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0xA6,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xA6,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xA6,
}},
{as: AVFMADDSUB231PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xB6,
avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0xB6,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0xB6,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xB6,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xB6,
}},
{as: AVFMADDSUB231PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xB6,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xB6,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0xB6,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xB6,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xB6,
}},
{as: AVFMSUB132PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x9A,
avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0x9A,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x9A,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x9A,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x9A,
}},
{as: AVFMSUB132PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x9A,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x9A,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x9A,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x9A,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x9A,
}},
{as: AVFMSUB132SD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x9B,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0x9B,
}},
{as: AVFMSUB132SS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x9B,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0x9B,
}},
{as: AVFMSUB213PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xAA,
avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0xAA,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0xAA,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xAA,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xAA,
}},
{as: AVFMSUB213PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xAA,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xAA,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0xAA,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xAA,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xAA,
}},
{as: AVFMSUB213SD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xAB,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0xAB,
}},
{as: AVFMSUB213SS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xAB,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0xAB,
}},
{as: AVFMSUB231PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xBA,
avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0xBA,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0xBA,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xBA,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xBA,
}},
{as: AVFMSUB231PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xBA,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xBA,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0xBA,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xBA,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xBA,
}},
{as: AVFMSUB231SD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xBB,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0xBB,
}},
{as: AVFMSUB231SS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xBB,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0xBB,
}},
{as: AVFMSUBADD132PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x97,
avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0x97,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x97,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x97,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x97,
}},
{as: AVFMSUBADD132PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x97,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x97,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x97,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x97,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x97,
}},
{as: AVFMSUBADD213PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xA7,
avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0xA7,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0xA7,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xA7,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xA7,
}},
{as: AVFMSUBADD213PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xA7,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xA7,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0xA7,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xA7,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xA7,
}},
{as: AVFMSUBADD231PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xB7,
avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0xB7,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0xB7,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xB7,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xB7,
}},
{as: AVFMSUBADD231PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xB7,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xB7,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0xB7,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xB7,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xB7,
}},
{as: AVFNMADD132PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x9C,
avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0x9C,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x9C,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x9C,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x9C,
}},
{as: AVFNMADD132PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x9C,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x9C,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x9C,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x9C,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x9C,
}},
{as: AVFNMADD132SD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x9D,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0x9D,
}},
{as: AVFNMADD132SS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x9D,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0x9D,
}},
{as: AVFNMADD213PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xAC,
avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0xAC,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0xAC,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xAC,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xAC,
}},
{as: AVFNMADD213PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xAC,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xAC,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0xAC,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xAC,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xAC,
}},
{as: AVFNMADD213SD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xAD,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0xAD,
}},
{as: AVFNMADD213SS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xAD,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0xAD,
}},
{as: AVFNMADD231PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xBC,
avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0xBC,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0xBC,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xBC,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xBC,
}},
{as: AVFNMADD231PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xBC,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xBC,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0xBC,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xBC,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xBC,
}},
{as: AVFNMADD231SD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xBD,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0xBD,
}},
{as: AVFNMADD231SS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xBD,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0xBD,
}},
{as: AVFNMSUB132PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x9E,
avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0x9E,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x9E,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x9E,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x9E,
}},
{as: AVFNMSUB132PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x9E,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x9E,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x9E,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x9E,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x9E,
}},
{as: AVFNMSUB132SD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x9F,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0x9F,
}},
{as: AVFNMSUB132SS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x9F,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0x9F,
}},
{as: AVFNMSUB213PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xAE,
avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0xAE,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0xAE,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xAE,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xAE,
}},
{as: AVFNMSUB213PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xAE,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xAE,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0xAE,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xAE,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xAE,
}},
{as: AVFNMSUB213SD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xAF,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0xAF,
}},
{as: AVFNMSUB213SS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xAF,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0xAF,
}},
{as: AVFNMSUB231PD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xBE,
avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0xBE,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0xBE,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xBE,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xBE,
}},
{as: AVFNMSUB231PS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xBE,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xBE,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0xBE,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xBE,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xBE,
}},
{as: AVFNMSUB231SD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0xBF,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0xBF,
}},
{as: AVFNMSUB231SS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xBF,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0xBF,
}},
{as: AVFPCLASSPDX, ytab: _yvfpclasspdx, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexBcstN8, 0x66,
}},
{as: AVFPCLASSPDY, ytab: _yvfpclasspdy, prefix: Pavx, op: opBytes{
avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8, 0x66,
}},
{as: AVFPCLASSPDZ, ytab: _yvfpclasspdz, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8, 0x66,
}},
{as: AVFPCLASSPSX, ytab: _yvfpclasspdx, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16 | evexBcstN4, 0x66,
}},
{as: AVFPCLASSPSY, ytab: _yvfpclasspdy, prefix: Pavx, op: opBytes{
avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexBcstN4, 0x66,
}},
{as: AVFPCLASSPSZ, ytab: _yvfpclasspdz, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexBcstN4, 0x66,
}},
{as: AVFPCLASSSD, ytab: _yvfpclasspdx, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN8, 0x67,
}},
{as: AVFPCLASSSS, ytab: _yvfpclasspdx, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN4, 0x67,
}},
{as: AVGATHERDPD, ytab: _yvgatherdpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x92,
avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0x92,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8, 0x92,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN8, 0x92,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8, 0x92,
}},
{as: AVGATHERDPS, ytab: _yvgatherdps, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x92,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x92,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4, 0x92,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN4, 0x92,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4, 0x92,
}},
{as: AVGATHERPF0DPD, ytab: _yvgatherpf0dpd, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8, 0xC6, 01,
}},
{as: AVGATHERPF0DPS, ytab: _yvgatherpf0dps, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4, 0xC6, 01,
}},
{as: AVGATHERPF0QPD, ytab: _yvgatherpf0dps, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8, 0xC7, 01,
}},
{as: AVGATHERPF0QPS, ytab: _yvgatherpf0dps, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4, 0xC7, 01,
}},
{as: AVGATHERPF1DPD, ytab: _yvgatherpf0dpd, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8, 0xC6, 02,
}},
{as: AVGATHERPF1DPS, ytab: _yvgatherpf0dps, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4, 0xC6, 02,
}},
{as: AVGATHERPF1QPD, ytab: _yvgatherpf0dps, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8, 0xC7, 02,
}},
{as: AVGATHERPF1QPS, ytab: _yvgatherpf0dps, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4, 0xC7, 02,
}},
{as: AVGATHERQPD, ytab: _yvgatherdps, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x93,
avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0x93,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8, 0x93,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN8, 0x93,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8, 0x93,
}},
{as: AVGATHERQPS, ytab: _yvgatherqps, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x93,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x93,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4, 0x93,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN4, 0x93,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4, 0x93,
}},
{as: AVGETEXPPD, ytab: _yvcvtpd2qq, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled | evexZeroingEnabled, 0x42,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x42,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x42,
}},
{as: AVGETEXPPS, ytab: _yvcvtpd2qq, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexSaeEnabled | evexZeroingEnabled, 0x42,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x42,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x42,
}},
{as: AVGETEXPSD, ytab: _yvgetexpsd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexSaeEnabled | evexZeroingEnabled, 0x43,
}},
{as: AVGETEXPSS, ytab: _yvgetexpsd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexSaeEnabled | evexZeroingEnabled, 0x43,
}},
{as: AVGETMANTPD, ytab: _yvgetmantpd, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled | evexZeroingEnabled, 0x26,
avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x26,
avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x26,
}},
{as: AVGETMANTPS, ytab: _yvgetmantpd, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexBcstN4 | evexSaeEnabled | evexZeroingEnabled, 0x26,
avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x26,
avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x26,
}},
{as: AVGETMANTSD, ytab: _yvfixupimmsd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN8 | evexSaeEnabled | evexZeroingEnabled, 0x27,
}},
{as: AVGETMANTSS, ytab: _yvfixupimmsd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN4 | evexSaeEnabled | evexZeroingEnabled, 0x27,
}},
{as: AVGF2P8AFFINEINVQB, ytab: _yvgf2p8affineinvqb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW1, 0xCF,
avxEscape | vex256 | vex66 | vex0F3A | vexW1, 0xCF,
avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xCF,
avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xCF,
avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0xCF,
}},
{as: AVGF2P8AFFINEQB, ytab: _yvgf2p8affineinvqb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW1, 0xCE,
avxEscape | vex256 | vex66 | vex0F3A | vexW1, 0xCE,
avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xCE,
avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xCE,
avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0xCE,
}},
{as: AVGF2P8MULB, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0xCF,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0xCF,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0xCF,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0xCF,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexZeroingEnabled, 0xCF,
}},
{as: AVHADDPD, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x7C,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x7C,
}},
{as: AVHADDPS, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x7C,
avxEscape | vex256 | vexF2 | vex0F | vexW0, 0x7C,
}},
{as: AVHSUBPD, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x7D,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x7D,
}},
{as: AVHSUBPS, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x7D,
avxEscape | vex256 | vexF2 | vex0F | vexW0, 0x7D,
}},
{as: AVINSERTF128, ytab: _yvinsertf128, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x18,
}},
{as: AVINSERTF32X4, ytab: _yvinsertf32x4, prefix: Pavx, op: opBytes{
avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN16 | evexZeroingEnabled, 0x18,
avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN16 | evexZeroingEnabled, 0x18,
}},
{as: AVINSERTF32X8, ytab: _yvinsertf32x8, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN32 | evexZeroingEnabled, 0x1A,
}},
{as: AVINSERTF64X2, ytab: _yvinsertf32x4, prefix: Pavx, op: opBytes{
avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN16 | evexZeroingEnabled, 0x18,
avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN16 | evexZeroingEnabled, 0x18,
}},
{as: AVINSERTF64X4, ytab: _yvinsertf32x8, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN32 | evexZeroingEnabled, 0x1A,
}},
{as: AVINSERTI128, ytab: _yvinsertf128, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x38,
}},
{as: AVINSERTI32X4, ytab: _yvinsertf32x4, prefix: Pavx, op: opBytes{
avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN16 | evexZeroingEnabled, 0x38,
avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN16 | evexZeroingEnabled, 0x38,
}},
{as: AVINSERTI32X8, ytab: _yvinsertf32x8, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN32 | evexZeroingEnabled, 0x3A,
}},
{as: AVINSERTI64X2, ytab: _yvinsertf32x4, prefix: Pavx, op: opBytes{
avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN16 | evexZeroingEnabled, 0x38,
avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN16 | evexZeroingEnabled, 0x38,
}},
{as: AVINSERTI64X4, ytab: _yvinsertf32x8, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN32 | evexZeroingEnabled, 0x3A,
}},
{as: AVINSERTPS, ytab: _yvinsertps, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x21,
avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN4, 0x21,
}},
{as: AVLDDQU, ytab: _yvlddqu, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF2 | vex0F | vexW0, 0xF0,
avxEscape | vex256 | vexF2 | vex0F | vexW0, 0xF0,
}},
{as: AVLDMXCSR, ytab: _yvldmxcsr, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0xAE, 02,
}},
{as: AVMASKMOVDQU, ytab: _yvmaskmovdqu, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xF7,
}},
{as: AVMASKMOVPD, ytab: _yvmaskmovpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x2F,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x2F,
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x2D,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x2D,
}},
{as: AVMASKMOVPS, ytab: _yvmaskmovpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x2E,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x2E,
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x2C,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x2C,
}},
{as: AVMAXPD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x5F,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x5F,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled | evexZeroingEnabled, 0x5F,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x5F,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x5F,
}},
{as: AVMAXPS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0x5F,
avxEscape | vex256 | vex0F | vexW0, 0x5F,
avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexSaeEnabled | evexZeroingEnabled, 0x5F,
avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x5F,
avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x5F,
}},
{as: AVMAXSD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x5F,
avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexSaeEnabled | evexZeroingEnabled, 0x5F,
}},
{as: AVMAXSS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x5F,
avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4 | evexSaeEnabled | evexZeroingEnabled, 0x5F,
}},
{as: AVMINPD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x5D,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x5D,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled | evexZeroingEnabled, 0x5D,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x5D,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x5D,
}},
{as: AVMINPS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0x5D,
avxEscape | vex256 | vex0F | vexW0, 0x5D,
avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexSaeEnabled | evexZeroingEnabled, 0x5D,
avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x5D,
avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x5D,
}},
{as: AVMINSD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x5D,
avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexSaeEnabled | evexZeroingEnabled, 0x5D,
}},
{as: AVMINSS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x5D,
avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4 | evexSaeEnabled | evexZeroingEnabled, 0x5D,
}},
{as: AVMOVAPD, ytab: _yvmovapd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x29,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x29,
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x28,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x28,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0x29,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexZeroingEnabled, 0x29,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexZeroingEnabled, 0x29,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0x28,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexZeroingEnabled, 0x28,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexZeroingEnabled, 0x28,
}},
{as: AVMOVAPS, ytab: _yvmovapd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0x29,
avxEscape | vex256 | vex0F | vexW0, 0x29,
avxEscape | vex128 | vex0F | vexW0, 0x28,
avxEscape | vex256 | vex0F | vexW0, 0x28,
avxEscape | evex128 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x29,
avxEscape | evex256 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x29,
avxEscape | evex512 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x29,
avxEscape | evex128 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x28,
avxEscape | evex256 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x28,
avxEscape | evex512 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x28,
}},
{as: AVMOVD, ytab: _yvmovd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x7E,
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x6E,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN4, 0x7E,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN4, 0x6E,
}},
{as: AVMOVDDUP, ytab: _yvmovddup, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x12,
avxEscape | vex256 | vexF2 | vex0F | vexW0, 0x12,
avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexZeroingEnabled, 0x12,
avxEscape | evex256 | evexF2 | evex0F | evexW1, evexN32 | evexZeroingEnabled, 0x12,
avxEscape | evex512 | evexF2 | evex0F | evexW1, evexN64 | evexZeroingEnabled, 0x12,
}},
{as: AVMOVDQA, ytab: _yvmovdqa, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x7F,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x7F,
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x6F,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x6F,
}},
{as: AVMOVDQA32, ytab: _yvmovdqa32, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x7F,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x7F,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x7F,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x6F,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x6F,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x6F,
}},
{as: AVMOVDQA64, ytab: _yvmovdqa32, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0x7F,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexZeroingEnabled, 0x7F,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexZeroingEnabled, 0x7F,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0x6F,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexZeroingEnabled, 0x6F,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexZeroingEnabled, 0x6F,
}},
{as: AVMOVDQU, ytab: _yvmovdqa, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x7F,
avxEscape | vex256 | vexF3 | vex0F | vexW0, 0x7F,
avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x6F,
avxEscape | vex256 | vexF3 | vex0F | vexW0, 0x6F,
}},
{as: AVMOVDQU16, ytab: _yvmovdqa32, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0x7F,
avxEscape | evex256 | evexF2 | evex0F | evexW1, evexN32 | evexZeroingEnabled, 0x7F,
avxEscape | evex512 | evexF2 | evex0F | evexW1, evexN64 | evexZeroingEnabled, 0x7F,
avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0x6F,
avxEscape | evex256 | evexF2 | evex0F | evexW1, evexN32 | evexZeroingEnabled, 0x6F,
avxEscape | evex512 | evexF2 | evex0F | evexW1, evexN64 | evexZeroingEnabled, 0x6F,
}},
{as: AVMOVDQU32, ytab: _yvmovdqa32, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x7F,
avxEscape | evex256 | evexF3 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x7F,
avxEscape | evex512 | evexF3 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x7F,
avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x6F,
avxEscape | evex256 | evexF3 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x6F,
avxEscape | evex512 | evexF3 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x6F,
}},
{as: AVMOVDQU64, ytab: _yvmovdqa32, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0x7F,
avxEscape | evex256 | evexF3 | evex0F | evexW1, evexN32 | evexZeroingEnabled, 0x7F,
avxEscape | evex512 | evexF3 | evex0F | evexW1, evexN64 | evexZeroingEnabled, 0x7F,
avxEscape | evex128 | evexF3 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0x6F,
avxEscape | evex256 | evexF3 | evex0F | evexW1, evexN32 | evexZeroingEnabled, 0x6F,
avxEscape | evex512 | evexF3 | evex0F | evexW1, evexN64 | evexZeroingEnabled, 0x6F,
}},
{as: AVMOVDQU8, ytab: _yvmovdqa32, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF2 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x7F,
avxEscape | evex256 | evexF2 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x7F,
avxEscape | evex512 | evexF2 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x7F,
avxEscape | evex128 | evexF2 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x6F,
avxEscape | evex256 | evexF2 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x6F,
avxEscape | evex512 | evexF2 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x6F,
}},
{as: AVMOVHLPS, ytab: _yvmovhlps, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0x12,
avxEscape | evex128 | evex0F | evexW0, 0, 0x12,
}},
{as: AVMOVHPD, ytab: _yvmovhpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x17,
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x16,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN8, 0x17,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN8, 0x16,
}},
{as: AVMOVHPS, ytab: _yvmovhpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0x17,
avxEscape | vex128 | vex0F | vexW0, 0x16,
avxEscape | evex128 | evex0F | evexW0, evexN8, 0x17,
avxEscape | evex128 | evex0F | evexW0, evexN8, 0x16,
}},
{as: AVMOVLHPS, ytab: _yvmovhlps, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0x16,
avxEscape | evex128 | evex0F | evexW0, 0, 0x16,
}},
{as: AVMOVLPD, ytab: _yvmovhpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x13,
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x12,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN8, 0x13,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN8, 0x12,
}},
{as: AVMOVLPS, ytab: _yvmovhpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0x13,
avxEscape | vex128 | vex0F | vexW0, 0x12,
avxEscape | evex128 | evex0F | evexW0, evexN8, 0x13,
avxEscape | evex128 | evex0F | evexW0, evexN8, 0x12,
}},
{as: AVMOVMSKPD, ytab: _yvmovmskpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x50,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x50,
}},
{as: AVMOVMSKPS, ytab: _yvmovmskpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0x50,
avxEscape | vex256 | vex0F | vexW0, 0x50,
}},
{as: AVMOVNTDQ, ytab: _yvmovntdq, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xE7,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xE7,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16, 0xE7,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32, 0xE7,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64, 0xE7,
}},
{as: AVMOVNTDQA, ytab: _yvmovntdqa, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x2A,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x2A,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16, 0x2A,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32, 0x2A,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64, 0x2A,
}},
{as: AVMOVNTPD, ytab: _yvmovntdq, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x2B,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x2B,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16, 0x2B,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32, 0x2B,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64, 0x2B,
}},
{as: AVMOVNTPS, ytab: _yvmovntdq, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0x2B,
avxEscape | vex256 | vex0F | vexW0, 0x2B,
avxEscape | evex128 | evex0F | evexW0, evexN16, 0x2B,
avxEscape | evex256 | evex0F | evexW0, evexN32, 0x2B,
avxEscape | evex512 | evex0F | evexW0, evexN64, 0x2B,
}},
{as: AVMOVQ, ytab: _yvmovq, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW1, 0x7E,
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xD6,
avxEscape | vex128 | vex66 | vex0F | vexW1, 0x6E,
avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x7E,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN8, 0x7E,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN8, 0xD6,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN8, 0x6E,
avxEscape | evex128 | evexF3 | evex0F | evexW1, evexN8, 0x7E,
}},
{as: AVMOVSD, ytab: _yvmovsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x11,
avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x11,
avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x10,
avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x10,
avxEscape | evex128 | evexF2 | evex0F | evexW1, evexZeroingEnabled, 0x11,
avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8, 0x11,
avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexZeroingEnabled, 0x10,
avxEscape | evex128 | evexF2 | evex0F | evexW1, evexZeroingEnabled, 0x10,
}},
{as: AVMOVSHDUP, ytab: _yvmovddup, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x16,
avxEscape | vex256 | vexF3 | vex0F | vexW0, 0x16,
avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x16,
avxEscape | evex256 | evexF3 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x16,
avxEscape | evex512 | evexF3 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x16,
}},
{as: AVMOVSLDUP, ytab: _yvmovddup, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x12,
avxEscape | vex256 | vexF3 | vex0F | vexW0, 0x12,
avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x12,
avxEscape | evex256 | evexF3 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x12,
avxEscape | evex512 | evexF3 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x12,
}},
{as: AVMOVSS, ytab: _yvmovsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x11,
avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x11,
avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x10,
avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x10,
avxEscape | evex128 | evexF3 | evex0F | evexW0, evexZeroingEnabled, 0x11,
avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4, 0x11,
avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4 | evexZeroingEnabled, 0x10,
avxEscape | evex128 | evexF3 | evex0F | evexW0, evexZeroingEnabled, 0x10,
}},
{as: AVMOVUPD, ytab: _yvmovapd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x11,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x11,
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x10,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x10,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0x11,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexZeroingEnabled, 0x11,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexZeroingEnabled, 0x11,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0x10,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexZeroingEnabled, 0x10,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexZeroingEnabled, 0x10,
}},
{as: AVMOVUPS, ytab: _yvmovapd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0x11,
avxEscape | vex256 | vex0F | vexW0, 0x11,
avxEscape | vex128 | vex0F | vexW0, 0x10,
avxEscape | vex256 | vex0F | vexW0, 0x10,
avxEscape | evex128 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x11,
avxEscape | evex256 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x11,
avxEscape | evex512 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x11,
avxEscape | evex128 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x10,
avxEscape | evex256 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x10,
avxEscape | evex512 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x10,
}},
{as: AVMPSADBW, ytab: _yvblendpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x42,
avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x42,
}},
{as: AVMULPD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x59,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x59,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x59,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x59,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x59,
}},
{as: AVMULPS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0x59,
avxEscape | vex256 | vex0F | vexW0, 0x59,
avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x59,
avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x59,
avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x59,
}},
{as: AVMULSD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x59,
avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0x59,
}},
{as: AVMULSS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x59,
avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0x59,
}},
{as: AVORPD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x56,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x56,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x56,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x56,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x56,
}},
{as: AVORPS, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0x56,
avxEscape | vex256 | vex0F | vexW0, 0x56,
avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x56,
avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x56,
avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x56,
}},
{as: AVP4DPWSSD, ytab: _yv4fmaddps, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evexF2 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x52,
}},
{as: AVP4DPWSSDS, ytab: _yv4fmaddps, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evexF2 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x53,
}},
{as: AVPABSB, ytab: _yvmovddup, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x1C,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x1C,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x1C,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x1C,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexZeroingEnabled, 0x1C,
}},
{as: AVPABSD, ytab: _yvmovddup, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x1E,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x1E,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x1E,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x1E,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x1E,
}},
{as: AVPABSQ, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x1F,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x1F,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x1F,
}},
{as: AVPABSW, ytab: _yvmovddup, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x1D,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x1D,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x1D,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x1D,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexZeroingEnabled, 0x1D,
}},
{as: AVPACKSSDW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x6B,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x6B,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x6B,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x6B,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x6B,
}},
{as: AVPACKSSWB, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x63,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x63,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x63,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x63,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x63,
}},
{as: AVPACKUSDW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x2B,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x2B,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x2B,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x2B,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x2B,
}},
{as: AVPACKUSWB, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x67,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x67,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x67,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x67,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x67,
}},
{as: AVPADDB, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xFC,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xFC,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xFC,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xFC,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xFC,
}},
{as: AVPADDD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xFE,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xFE,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xFE,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xFE,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0xFE,
}},
{as: AVPADDQ, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xD4,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xD4,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xD4,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xD4,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0xD4,
}},
{as: AVPADDSB, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xEC,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xEC,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xEC,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xEC,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xEC,
}},
{as: AVPADDSW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xED,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xED,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xED,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xED,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xED,
}},
{as: AVPADDUSB, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xDC,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xDC,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xDC,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xDC,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xDC,
}},
{as: AVPADDUSW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xDD,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xDD,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xDD,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xDD,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xDD,
}},
{as: AVPADDW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xFD,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xFD,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xFD,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xFD,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xFD,
}},
{as: AVPALIGNR, ytab: _yvgf2p8affineinvqb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x0F,
avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x0F,
avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16 | evexZeroingEnabled, 0x0F,
avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexZeroingEnabled, 0x0F,
avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexZeroingEnabled, 0x0F,
}},
{as: AVPAND, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xDB,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xDB,
}},
{as: AVPANDD, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xDB,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xDB,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0xDB,
}},
{as: AVPANDN, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xDF,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xDF,
}},
{as: AVPANDND, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xDF,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xDF,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0xDF,
}},
{as: AVPANDNQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xDF,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xDF,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0xDF,
}},
{as: AVPANDQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xDB,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xDB,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0xDB,
}},
{as: AVPAVGB, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xE0,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xE0,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xE0,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xE0,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xE0,
}},
{as: AVPAVGW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xE3,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xE3,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xE3,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xE3,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xE3,
}},
{as: AVPBLENDD, ytab: _yvblendpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x02,
avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x02,
}},
{as: AVPBLENDMB, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x66,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x66,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexZeroingEnabled, 0x66,
}},
{as: AVPBLENDMD, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x64,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x64,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x64,
}},
{as: AVPBLENDMQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x64,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x64,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x64,
}},
{as: AVPBLENDMW, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexZeroingEnabled, 0x66,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexZeroingEnabled, 0x66,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexZeroingEnabled, 0x66,
}},
{as: AVPBLENDVB, ytab: _yvblendvpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x4C,
avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x4C,
}},
{as: AVPBLENDW, ytab: _yvblendpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x0E,
avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x0E,
}},
{as: AVPBROADCASTB, ytab: _yvpbroadcastb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x78,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x78,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexZeroingEnabled, 0x7A,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexZeroingEnabled, 0x7A,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexZeroingEnabled, 0x7A,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN1 | evexZeroingEnabled, 0x78,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN1 | evexZeroingEnabled, 0x78,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN1 | evexZeroingEnabled, 0x78,
}},
{as: AVPBROADCASTD, ytab: _yvpbroadcastb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x58,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x58,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexZeroingEnabled, 0x7C,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexZeroingEnabled, 0x7C,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexZeroingEnabled, 0x7C,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x58,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x58,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x58,
}},
{as: AVPBROADCASTMB2Q, ytab: _yvpbroadcastmb2q, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F38 | evexW1, 0, 0x2A,
avxEscape | evex256 | evexF3 | evex0F38 | evexW1, 0, 0x2A,
avxEscape | evex512 | evexF3 | evex0F38 | evexW1, 0, 0x2A,
}},
{as: AVPBROADCASTMW2D, ytab: _yvpbroadcastmb2q, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F38 | evexW0, 0, 0x3A,
avxEscape | evex256 | evexF3 | evex0F38 | evexW0, 0, 0x3A,
avxEscape | evex512 | evexF3 | evex0F38 | evexW0, 0, 0x3A,
}},
{as: AVPBROADCASTQ, ytab: _yvpbroadcastb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x59,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x59,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexZeroingEnabled, 0x7C,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexZeroingEnabled, 0x7C,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexZeroingEnabled, 0x7C,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x59,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x59,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x59,
}},
{as: AVPBROADCASTW, ytab: _yvpbroadcastb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x79,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x79,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexZeroingEnabled, 0x7B,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexZeroingEnabled, 0x7B,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexZeroingEnabled, 0x7B,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN2 | evexZeroingEnabled, 0x79,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN2 | evexZeroingEnabled, 0x79,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN2 | evexZeroingEnabled, 0x79,
}},
{as: AVPCLMULQDQ, ytab: _yvpclmulqdq, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x44,
avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x44,
avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16, 0x44,
avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32, 0x44,
avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64, 0x44,
}},
{as: AVPCMPB, ytab: _yvpcmpb, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16, 0x3F,
avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32, 0x3F,
avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64, 0x3F,
}},
{as: AVPCMPD, ytab: _yvpcmpb, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16 | evexBcstN4, 0x1F,
avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexBcstN4, 0x1F,
avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexBcstN4, 0x1F,
}},
{as: AVPCMPEQB, ytab: _yvpcmpeqb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x74,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x74,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16, 0x74,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32, 0x74,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64, 0x74,
}},
{as: AVPCMPEQD, ytab: _yvpcmpeqb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x76,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x76,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4, 0x76,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4, 0x76,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4, 0x76,
}},
{as: AVPCMPEQQ, ytab: _yvpcmpeqb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x29,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x29,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8, 0x29,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8, 0x29,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8, 0x29,
}},
{as: AVPCMPEQW, ytab: _yvpcmpeqb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x75,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x75,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16, 0x75,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32, 0x75,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64, 0x75,
}},
{as: AVPCMPESTRI, ytab: _yvaeskeygenassist, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexWIG, 0x61,
}},
{as: AVPCMPESTRM, ytab: _yvaeskeygenassist, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexWIG, 0x60,
}},
{as: AVPCMPGTB, ytab: _yvpcmpeqb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x64,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x64,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16, 0x64,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32, 0x64,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64, 0x64,
}},
{as: AVPCMPGTD, ytab: _yvpcmpeqb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x66,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x66,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4, 0x66,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4, 0x66,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4, 0x66,
}},
{as: AVPCMPGTQ, ytab: _yvpcmpeqb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x37,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x37,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8, 0x37,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8, 0x37,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8, 0x37,
}},
{as: AVPCMPGTW, ytab: _yvpcmpeqb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x65,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x65,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16, 0x65,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32, 0x65,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64, 0x65,
}},
{as: AVPCMPISTRI, ytab: _yvaeskeygenassist, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexWIG, 0x63,
}},
{as: AVPCMPISTRM, ytab: _yvaeskeygenassist, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x62,
}},
{as: AVPCMPQ, ytab: _yvpcmpb, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexBcstN8, 0x1F,
avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8, 0x1F,
avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8, 0x1F,
}},
{as: AVPCMPUB, ytab: _yvpcmpb, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16, 0x3E,
avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32, 0x3E,
avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64, 0x3E,
}},
{as: AVPCMPUD, ytab: _yvpcmpb, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16 | evexBcstN4, 0x1E,
avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexBcstN4, 0x1E,
avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexBcstN4, 0x1E,
}},
{as: AVPCMPUQ, ytab: _yvpcmpb, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexBcstN8, 0x1E,
avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8, 0x1E,
avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8, 0x1E,
}},
{as: AVPCMPUW, ytab: _yvpcmpb, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16, 0x3E,
avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32, 0x3E,
avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64, 0x3E,
}},
{as: AVPCMPW, ytab: _yvpcmpb, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16, 0x3F,
avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32, 0x3F,
avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64, 0x3F,
}},
{as: AVPCOMPRESSB, ytab: _yvcompresspd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN1 | evexZeroingEnabled, 0x63,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN1 | evexZeroingEnabled, 0x63,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN1 | evexZeroingEnabled, 0x63,
}},
{as: AVPCOMPRESSD, ytab: _yvcompresspd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x8B,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x8B,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x8B,
}},
{as: AVPCOMPRESSQ, ytab: _yvcompresspd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x8B,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x8B,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x8B,
}},
{as: AVPCOMPRESSW, ytab: _yvcompresspd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN2 | evexZeroingEnabled, 0x63,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN2 | evexZeroingEnabled, 0x63,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN2 | evexZeroingEnabled, 0x63,
}},
{as: AVPCONFLICTD, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xC4,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xC4,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0xC4,
}},
{as: AVPCONFLICTQ, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xC4,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xC4,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0xC4,
}},
{as: AVPDPBUSD, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x50,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x50,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x50,
}},
{as: AVPDPBUSDS, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x51,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x51,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x51,
}},
{as: AVPDPWSSD, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x52,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x52,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x52,
}},
{as: AVPDPWSSDS, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x53,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x53,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x53,
}},
{as: AVPERM2F128, ytab: _yvperm2f128, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x06,
}},
{as: AVPERM2I128, ytab: _yvperm2f128, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x46,
}},
{as: AVPERMB, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x8D,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x8D,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexZeroingEnabled, 0x8D,
}},
{as: AVPERMD, ytab: _yvpermd, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x36,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x36,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x36,
}},
{as: AVPERMI2B, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x75,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x75,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexZeroingEnabled, 0x75,
}},
{as: AVPERMI2D, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x76,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x76,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x76,
}},
{as: AVPERMI2PD, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x77,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x77,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x77,
}},
{as: AVPERMI2PS, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x77,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x77,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x77,
}},
{as: AVPERMI2Q, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x76,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x76,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x76,
}},
{as: AVPERMI2W, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexZeroingEnabled, 0x75,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexZeroingEnabled, 0x75,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexZeroingEnabled, 0x75,
}},
{as: AVPERMILPD, ytab: _yvpermilpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x05,
avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x05,
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x0D,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x0D,
avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x05,
avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x05,
avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x05,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x0D,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x0D,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x0D,
}},
{as: AVPERMILPS, ytab: _yvpermilpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x04,
avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x04,
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x0C,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x0C,
avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x04,
avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x04,
avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x04,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x0C,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x0C,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x0C,
}},
{as: AVPERMPD, ytab: _yvpermq, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex66 | vex0F3A | vexW1, 0x01,
avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x01,
avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x01,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x16,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x16,
}},
{as: AVPERMPS, ytab: _yvpermd, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x16,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x16,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x16,
}},
{as: AVPERMQ, ytab: _yvpermq, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex66 | vex0F3A | vexW1, 0x00,
avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x00,
avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x00,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x36,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x36,
}},
{as: AVPERMT2B, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x7D,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x7D,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexZeroingEnabled, 0x7D,
}},
{as: AVPERMT2D, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x7E,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x7E,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x7E,
}},
{as: AVPERMT2PD, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x7F,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x7F,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x7F,
}},
{as: AVPERMT2PS, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x7F,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x7F,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x7F,
}},
{as: AVPERMT2Q, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x7E,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x7E,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x7E,
}},
{as: AVPERMT2W, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexZeroingEnabled, 0x7D,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexZeroingEnabled, 0x7D,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexZeroingEnabled, 0x7D,
}},
{as: AVPERMW, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexZeroingEnabled, 0x8D,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexZeroingEnabled, 0x8D,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexZeroingEnabled, 0x8D,
}},
{as: AVPEXPANDB, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN1 | evexZeroingEnabled, 0x62,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN1 | evexZeroingEnabled, 0x62,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN1 | evexZeroingEnabled, 0x62,
}},
{as: AVPEXPANDD, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x89,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x89,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x89,
}},
{as: AVPEXPANDQ, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x89,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x89,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x89,
}},
{as: AVPEXPANDW, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN2 | evexZeroingEnabled, 0x62,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN2 | evexZeroingEnabled, 0x62,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN2 | evexZeroingEnabled, 0x62,
}},
{as: AVPEXTRB, ytab: _yvextractps, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x14,
avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN1, 0x14,
}},
{as: AVPEXTRD, ytab: _yvextractps, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x16,
avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN4, 0x16,
}},
{as: AVPEXTRQ, ytab: _yvextractps, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW1, 0x16,
avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN8, 0x16,
}},
{as: AVPEXTRW, ytab: _yvpextrw, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x15,
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xC5,
avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN2, 0x15,
avxEscape | evex128 | evex66 | evex0F | evexW0, 0, 0xC5,
}},
{as: AVPGATHERDD, ytab: _yvgatherdps, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x90,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x90,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4, 0x90,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN4, 0x90,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4, 0x90,
}},
{as: AVPGATHERDQ, ytab: _yvgatherdpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x90,
avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0x90,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8, 0x90,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN8, 0x90,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8, 0x90,
}},
{as: AVPGATHERQD, ytab: _yvgatherqps, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x91,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x91,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4, 0x91,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN4, 0x91,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4, 0x91,
}},
{as: AVPGATHERQQ, ytab: _yvgatherdps, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x91,
avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0x91,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8, 0x91,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN8, 0x91,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8, 0x91,
}},
{as: AVPHADDD, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x02,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x02,
}},
{as: AVPHADDSW, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x03,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x03,
}},
{as: AVPHADDW, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x01,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x01,
}},
{as: AVPHMINPOSUW, ytab: _yvaesimc, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x41,
}},
{as: AVPHSUBD, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x06,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x06,
}},
{as: AVPHSUBSW, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x07,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x07,
}},
{as: AVPHSUBW, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x05,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x05,
}},
{as: AVPINSRB, ytab: _yvpinsrb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x20,
avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN1, 0x20,
}},
{as: AVPINSRD, ytab: _yvpinsrb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x22,
avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN4, 0x22,
}},
{as: AVPINSRQ, ytab: _yvpinsrb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW1, 0x22,
avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN8, 0x22,
}},
{as: AVPINSRW, ytab: _yvpinsrb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xC4,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN2, 0xC4,
}},
{as: AVPLZCNTD, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x44,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x44,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x44,
}},
{as: AVPLZCNTQ, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x44,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x44,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x44,
}},
{as: AVPMADD52HUQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xB5,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xB5,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0xB5,
}},
{as: AVPMADD52LUQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xB4,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xB4,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0xB4,
}},
{as: AVPMADDUBSW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x04,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x04,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x04,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x04,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexZeroingEnabled, 0x04,
}},
{as: AVPMADDWD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xF5,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xF5,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xF5,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xF5,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xF5,
}},
{as: AVPMASKMOVD, ytab: _yvmaskmovpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x8E,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x8E,
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x8C,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x8C,
}},
{as: AVPMASKMOVQ, ytab: _yvmaskmovpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x8E,
avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0x8E,
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x8C,
avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0x8C,
}},
{as: AVPMAXSB, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x3C,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x3C,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x3C,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x3C,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexZeroingEnabled, 0x3C,
}},
{as: AVPMAXSD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x3D,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x3D,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x3D,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x3D,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x3D,
}},
{as: AVPMAXSQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x3D,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x3D,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x3D,
}},
{as: AVPMAXSW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xEE,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xEE,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xEE,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xEE,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xEE,
}},
{as: AVPMAXUB, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xDE,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xDE,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xDE,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xDE,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xDE,
}},
{as: AVPMAXUD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x3F,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x3F,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x3F,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x3F,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x3F,
}},
{as: AVPMAXUQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x3F,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x3F,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x3F,
}},
{as: AVPMAXUW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x3E,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x3E,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x3E,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x3E,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexZeroingEnabled, 0x3E,
}},
{as: AVPMINSB, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x38,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x38,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x38,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x38,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexZeroingEnabled, 0x38,
}},
{as: AVPMINSD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x39,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x39,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x39,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x39,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x39,
}},
{as: AVPMINSQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x39,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x39,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x39,
}},
{as: AVPMINSW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xEA,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xEA,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xEA,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xEA,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xEA,
}},
{as: AVPMINUB, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xDA,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xDA,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xDA,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xDA,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xDA,
}},
{as: AVPMINUD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x3B,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x3B,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x3B,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x3B,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x3B,
}},
{as: AVPMINUQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x3B,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x3B,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x3B,
}},
{as: AVPMINUW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x3A,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x3A,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x3A,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x3A,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexZeroingEnabled, 0x3A,
}},
{as: AVPMOVB2M, ytab: _yvpmovb2m, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F38 | evexW0, 0, 0x29,
avxEscape | evex256 | evexF3 | evex0F38 | evexW0, 0, 0x29,
avxEscape | evex512 | evexF3 | evex0F38 | evexW0, 0, 0x29,
}},
{as: AVPMOVD2M, ytab: _yvpmovb2m, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F38 | evexW0, 0, 0x39,
avxEscape | evex256 | evexF3 | evex0F38 | evexW0, 0, 0x39,
avxEscape | evex512 | evexF3 | evex0F38 | evexW0, 0, 0x39,
}},
{as: AVPMOVDB, ytab: _yvpmovdb, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x31,
avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x31,
avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x31,
}},
{as: AVPMOVDW, ytab: _yvpmovdw, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x33,
avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x33,
avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x33,
}},
{as: AVPMOVM2B, ytab: _yvpbroadcastmb2q, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F38 | evexW0, 0, 0x28,
avxEscape | evex256 | evexF3 | evex0F38 | evexW0, 0, 0x28,
avxEscape | evex512 | evexF3 | evex0F38 | evexW0, 0, 0x28,
}},
{as: AVPMOVM2D, ytab: _yvpbroadcastmb2q, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F38 | evexW0, 0, 0x38,
avxEscape | evex256 | evexF3 | evex0F38 | evexW0, 0, 0x38,
avxEscape | evex512 | evexF3 | evex0F38 | evexW0, 0, 0x38,
}},
{as: AVPMOVM2Q, ytab: _yvpbroadcastmb2q, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F38 | evexW1, 0, 0x38,
avxEscape | evex256 | evexF3 | evex0F38 | evexW1, 0, 0x38,
avxEscape | evex512 | evexF3 | evex0F38 | evexW1, 0, 0x38,
}},
{as: AVPMOVM2W, ytab: _yvpbroadcastmb2q, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F38 | evexW1, 0, 0x28,
avxEscape | evex256 | evexF3 | evex0F38 | evexW1, 0, 0x28,
avxEscape | evex512 | evexF3 | evex0F38 | evexW1, 0, 0x28,
}},
{as: AVPMOVMSKB, ytab: _yvmovmskpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xD7,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xD7,
}},
{as: AVPMOVQ2M, ytab: _yvpmovb2m, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F38 | evexW1, 0, 0x39,
avxEscape | evex256 | evexF3 | evex0F38 | evexW1, 0, 0x39,
avxEscape | evex512 | evexF3 | evex0F38 | evexW1, 0, 0x39,
}},
{as: AVPMOVQB, ytab: _yvpmovdb, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN2 | evexZeroingEnabled, 0x32,
avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x32,
avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x32,
}},
{as: AVPMOVQD, ytab: _yvpmovdw, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x35,
avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x35,
avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x35,
}},
{as: AVPMOVQW, ytab: _yvpmovdb, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x34,
avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x34,
avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x34,
}},
{as: AVPMOVSDB, ytab: _yvpmovdb, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x21,
avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x21,
avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x21,
}},
{as: AVPMOVSDW, ytab: _yvpmovdw, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x23,
avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x23,
avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x23,
}},
{as: AVPMOVSQB, ytab: _yvpmovdb, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN2 | evexZeroingEnabled, 0x22,
avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x22,
avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x22,
}},
{as: AVPMOVSQD, ytab: _yvpmovdw, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x25,
avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x25,
avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x25,
}},
{as: AVPMOVSQW, ytab: _yvpmovdb, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x24,
avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x24,
avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x24,
}},
{as: AVPMOVSWB, ytab: _yvpmovdw, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x20,
avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x20,
avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x20,
}},
{as: AVPMOVSXBD, ytab: _yvbroadcastss, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x21,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x21,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x21,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x21,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x21,
}},
{as: AVPMOVSXBQ, ytab: _yvbroadcastss, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x22,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x22,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN2 | evexZeroingEnabled, 0x22,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x22,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x22,
}},
{as: AVPMOVSXBW, ytab: _yvcvtdq2pd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x20,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x20,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x20,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x20,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x20,
}},
{as: AVPMOVSXDQ, ytab: _yvcvtdq2pd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x25,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x25,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x25,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x25,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x25,
}},
{as: AVPMOVSXWD, ytab: _yvcvtdq2pd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x23,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x23,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x23,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x23,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x23,
}},
{as: AVPMOVSXWQ, ytab: _yvbroadcastss, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x24,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x24,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x24,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x24,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x24,
}},
{as: AVPMOVUSDB, ytab: _yvpmovdb, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x11,
avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x11,
avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x11,
}},
{as: AVPMOVUSDW, ytab: _yvpmovdw, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x13,
avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x13,
avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x13,
}},
{as: AVPMOVUSQB, ytab: _yvpmovdb, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN2 | evexZeroingEnabled, 0x12,
avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x12,
avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x12,
}},
{as: AVPMOVUSQD, ytab: _yvpmovdw, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x15,
avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x15,
avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x15,
}},
{as: AVPMOVUSQW, ytab: _yvpmovdb, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x14,
avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x14,
avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x14,
}},
{as: AVPMOVUSWB, ytab: _yvpmovdw, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x10,
avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x10,
avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x10,
}},
{as: AVPMOVW2M, ytab: _yvpmovb2m, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F38 | evexW1, 0, 0x29,
avxEscape | evex256 | evexF3 | evex0F38 | evexW1, 0, 0x29,
avxEscape | evex512 | evexF3 | evex0F38 | evexW1, 0, 0x29,
}},
{as: AVPMOVWB, ytab: _yvpmovdw, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x30,
avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x30,
avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x30,
}},
{as: AVPMOVZXBD, ytab: _yvbroadcastss, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x31,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x31,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x31,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x31,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x31,
}},
{as: AVPMOVZXBQ, ytab: _yvbroadcastss, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x32,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x32,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN2 | evexZeroingEnabled, 0x32,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x32,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x32,
}},
{as: AVPMOVZXBW, ytab: _yvcvtdq2pd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x30,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x30,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x30,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x30,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x30,
}},
{as: AVPMOVZXDQ, ytab: _yvcvtdq2pd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x35,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x35,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x35,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x35,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x35,
}},
{as: AVPMOVZXWD, ytab: _yvcvtdq2pd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x33,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x33,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x33,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x33,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x33,
}},
{as: AVPMOVZXWQ, ytab: _yvbroadcastss, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x34,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x34,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x34,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN8 | evexZeroingEnabled, 0x34,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x34,
}},
{as: AVPMULDQ, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x28,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x28,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x28,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x28,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x28,
}},
{as: AVPMULHRSW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x0B,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x0B,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x0B,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x0B,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexZeroingEnabled, 0x0B,
}},
{as: AVPMULHUW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xE4,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xE4,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xE4,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xE4,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xE4,
}},
{as: AVPMULHW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xE5,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xE5,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xE5,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xE5,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xE5,
}},
{as: AVPMULLD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x40,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x40,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x40,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x40,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x40,
}},
{as: AVPMULLQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x40,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x40,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x40,
}},
{as: AVPMULLW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xD5,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xD5,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xD5,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xD5,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xD5,
}},
{as: AVPMULTISHIFTQB, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x83,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x83,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x83,
}},
{as: AVPMULUDQ, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xF4,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xF4,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xF4,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xF4,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0xF4,
}},
{as: AVPOPCNTB, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x54,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x54,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexZeroingEnabled, 0x54,
}},
{as: AVPOPCNTD, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x55,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x55,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x55,
}},
{as: AVPOPCNTQ, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x55,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x55,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x55,
}},
{as: AVPOPCNTW, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexZeroingEnabled, 0x54,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexZeroingEnabled, 0x54,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexZeroingEnabled, 0x54,
}},
{as: AVPOR, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xEB,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xEB,
}},
{as: AVPORD, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xEB,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xEB,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0xEB,
}},
{as: AVPORQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xEB,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xEB,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0xEB,
}},
{as: AVPROLD, ytab: _yvprold, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x72, 01,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x72, 01,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x72, 01,
}},
{as: AVPROLQ, ytab: _yvprold, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x72, 01,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x72, 01,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x72, 01,
}},
{as: AVPROLVD, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x15,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x15,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x15,
}},
{as: AVPROLVQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x15,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x15,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x15,
}},
{as: AVPRORD, ytab: _yvprold, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x72, 00,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x72, 00,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x72, 00,
}},
{as: AVPRORQ, ytab: _yvprold, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x72, 00,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x72, 00,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x72, 00,
}},
{as: AVPRORVD, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x14,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x14,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x14,
}},
{as: AVPRORVQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x14,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x14,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x14,
}},
{as: AVPSADBW, ytab: _yvaesdec, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xF6,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xF6,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16, 0xF6,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32, 0xF6,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64, 0xF6,
}},
{as: AVPSCATTERDD, ytab: _yvpscatterdd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4, 0xA0,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN4, 0xA0,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4, 0xA0,
}},
{as: AVPSCATTERDQ, ytab: _yvpscatterdq, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8, 0xA0,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN8, 0xA0,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8, 0xA0,
}},
{as: AVPSCATTERQD, ytab: _yvpscatterqd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4, 0xA1,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN4, 0xA1,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4, 0xA1,
}},
{as: AVPSCATTERQQ, ytab: _yvpscatterdd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8, 0xA1,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN8, 0xA1,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8, 0xA1,
}},
{as: AVPSHLDD, ytab: _yvalignd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x71,
avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x71,
avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x71,
}},
{as: AVPSHLDQ, ytab: _yvalignd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x71,
avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x71,
avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x71,
}},
{as: AVPSHLDVD, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x71,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x71,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x71,
}},
{as: AVPSHLDVQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x71,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x71,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x71,
}},
{as: AVPSHLDVW, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexZeroingEnabled, 0x70,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexZeroingEnabled, 0x70,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexZeroingEnabled, 0x70,
}},
{as: AVPSHLDW, ytab: _yvalignd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexZeroingEnabled, 0x70,
avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexZeroingEnabled, 0x70,
avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexZeroingEnabled, 0x70,
}},
{as: AVPSHRDD, ytab: _yvalignd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x73,
avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x73,
avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x73,
}},
{as: AVPSHRDQ, ytab: _yvalignd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x73,
avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x73,
avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x73,
}},
{as: AVPSHRDVD, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x73,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x73,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x73,
}},
{as: AVPSHRDVQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x73,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x73,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x73,
}},
{as: AVPSHRDVW, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexZeroingEnabled, 0x72,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexZeroingEnabled, 0x72,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexZeroingEnabled, 0x72,
}},
{as: AVPSHRDW, ytab: _yvalignd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexZeroingEnabled, 0x72,
avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexZeroingEnabled, 0x72,
avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexZeroingEnabled, 0x72,
}},
{as: AVPSHUFB, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x00,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x00,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexZeroingEnabled, 0x00,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexZeroingEnabled, 0x00,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexZeroingEnabled, 0x00,
}},
{as: AVPSHUFBITQMB, ytab: _yvpshufbitqmb, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16, 0x8F,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32, 0x8F,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64, 0x8F,
}},
{as: AVPSHUFD, ytab: _yvpshufd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x70,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x70,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x70,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x70,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x70,
}},
{as: AVPSHUFHW, ytab: _yvpshufd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x70,
avxEscape | vex256 | vexF3 | vex0F | vexW0, 0x70,
avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x70,
avxEscape | evex256 | evexF3 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x70,
avxEscape | evex512 | evexF3 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x70,
}},
{as: AVPSHUFLW, ytab: _yvpshufd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x70,
avxEscape | vex256 | vexF2 | vex0F | vexW0, 0x70,
avxEscape | evex128 | evexF2 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x70,
avxEscape | evex256 | evexF2 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x70,
avxEscape | evex512 | evexF2 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x70,
}},
{as: AVPSIGNB, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x08,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x08,
}},
{as: AVPSIGND, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x0A,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x0A,
}},
{as: AVPSIGNW, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x09,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x09,
}},
{as: AVPSLLD, ytab: _yvpslld, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x72, 06,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x72, 06,
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xF2,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xF2,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x72, 06,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x72, 06,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x72, 06,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xF2,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xF2,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xF2,
}},
{as: AVPSLLDQ, ytab: _yvpslldq, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x73, 07,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x73, 07,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16, 0x73, 07,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32, 0x73, 07,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64, 0x73, 07,
}},
{as: AVPSLLQ, ytab: _yvpslld, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x73, 06,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x73, 06,
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xF3,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xF3,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x73, 06,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x73, 06,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x73, 06,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0xF3,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0xF3,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0xF3,
}},
{as: AVPSLLVD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x47,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x47,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x47,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x47,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x47,
}},
{as: AVPSLLVQ, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x47,
avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0x47,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x47,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x47,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x47,
}},
{as: AVPSLLVW, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexZeroingEnabled, 0x12,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexZeroingEnabled, 0x12,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexZeroingEnabled, 0x12,
}},
{as: AVPSLLW, ytab: _yvpslld, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x71, 06,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x71, 06,
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xF1,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xF1,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x71, 06,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x71, 06,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x71, 06,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xF1,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xF1,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xF1,
}},
{as: AVPSRAD, ytab: _yvpslld, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x72, 04,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x72, 04,
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xE2,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xE2,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x72, 04,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x72, 04,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x72, 04,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xE2,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xE2,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xE2,
}},
{as: AVPSRAQ, ytab: _yvpsraq, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x72, 04,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x72, 04,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x72, 04,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0xE2,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0xE2,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0xE2,
}},
{as: AVPSRAVD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x46,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x46,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x46,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x46,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x46,
}},
{as: AVPSRAVQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x46,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x46,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x46,
}},
{as: AVPSRAVW, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexZeroingEnabled, 0x11,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexZeroingEnabled, 0x11,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexZeroingEnabled, 0x11,
}},
{as: AVPSRAW, ytab: _yvpslld, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x71, 04,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x71, 04,
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xE1,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xE1,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x71, 04,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x71, 04,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x71, 04,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xE1,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xE1,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xE1,
}},
{as: AVPSRLD, ytab: _yvpslld, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x72, 02,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x72, 02,
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xD2,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xD2,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x72, 02,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x72, 02,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x72, 02,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xD2,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xD2,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xD2,
}},
{as: AVPSRLDQ, ytab: _yvpslldq, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x73, 03,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x73, 03,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16, 0x73, 03,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32, 0x73, 03,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64, 0x73, 03,
}},
{as: AVPSRLQ, ytab: _yvpslld, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x73, 02,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x73, 02,
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xD3,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xD3,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x73, 02,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x73, 02,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x73, 02,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0xD3,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0xD3,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN16 | evexZeroingEnabled, 0xD3,
}},
{as: AVPSRLVD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x45,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x45,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x45,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x45,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x45,
}},
{as: AVPSRLVQ, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW1, 0x45,
avxEscape | vex256 | vex66 | vex0F38 | vexW1, 0x45,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x45,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x45,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x45,
}},
{as: AVPSRLVW, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexZeroingEnabled, 0x10,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexZeroingEnabled, 0x10,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexZeroingEnabled, 0x10,
}},
{as: AVPSRLW, ytab: _yvpslld, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x71, 02,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x71, 02,
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xD1,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xD1,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x71, 02,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x71, 02,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x71, 02,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xD1,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xD1,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xD1,
}},
{as: AVPSUBB, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xF8,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xF8,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xF8,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xF8,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xF8,
}},
{as: AVPSUBD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xFA,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xFA,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xFA,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xFA,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0xFA,
}},
{as: AVPSUBQ, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xFB,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xFB,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xFB,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xFB,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0xFB,
}},
{as: AVPSUBSB, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xE8,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xE8,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xE8,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xE8,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xE8,
}},
{as: AVPSUBSW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xE9,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xE9,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xE9,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xE9,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xE9,
}},
{as: AVPSUBUSB, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xD8,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xD8,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xD8,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xD8,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xD8,
}},
{as: AVPSUBUSW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xD9,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xD9,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xD9,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xD9,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xD9,
}},
{as: AVPSUBW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xF9,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xF9,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0xF9,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0xF9,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0xF9,
}},
{as: AVPTERNLOGD, ytab: _yvalignd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x25,
avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x25,
avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x25,
}},
{as: AVPTERNLOGQ, ytab: _yvalignd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x25,
avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x25,
avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x25,
}},
{as: AVPTEST, ytab: _yvptest, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x17,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x17,
}},
{as: AVPTESTMB, ytab: _yvpshufbitqmb, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16, 0x26,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32, 0x26,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64, 0x26,
}},
{as: AVPTESTMD, ytab: _yvpshufbitqmb, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4, 0x27,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4, 0x27,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4, 0x27,
}},
{as: AVPTESTMQ, ytab: _yvpshufbitqmb, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8, 0x27,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8, 0x27,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8, 0x27,
}},
{as: AVPTESTMW, ytab: _yvpshufbitqmb, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16, 0x26,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32, 0x26,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64, 0x26,
}},
{as: AVPTESTNMB, ytab: _yvpshufbitqmb, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN16, 0x26,
avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN32, 0x26,
avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN64, 0x26,
}},
{as: AVPTESTNMD, ytab: _yvpshufbitqmb, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F38 | evexW0, evexN16 | evexBcstN4, 0x27,
avxEscape | evex256 | evexF3 | evex0F38 | evexW0, evexN32 | evexBcstN4, 0x27,
avxEscape | evex512 | evexF3 | evex0F38 | evexW0, evexN64 | evexBcstN4, 0x27,
}},
{as: AVPTESTNMQ, ytab: _yvpshufbitqmb, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F38 | evexW1, evexN16 | evexBcstN8, 0x27,
avxEscape | evex256 | evexF3 | evex0F38 | evexW1, evexN32 | evexBcstN8, 0x27,
avxEscape | evex512 | evexF3 | evex0F38 | evexW1, evexN64 | evexBcstN8, 0x27,
}},
{as: AVPTESTNMW, ytab: _yvpshufbitqmb, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evexF3 | evex0F38 | evexW1, evexN16, 0x26,
avxEscape | evex256 | evexF3 | evex0F38 | evexW1, evexN32, 0x26,
avxEscape | evex512 | evexF3 | evex0F38 | evexW1, evexN64, 0x26,
}},
{as: AVPUNPCKHBW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x68,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x68,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x68,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x68,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x68,
}},
{as: AVPUNPCKHDQ, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x6A,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x6A,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x6A,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x6A,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x6A,
}},
{as: AVPUNPCKHQDQ, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x6D,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x6D,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x6D,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x6D,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x6D,
}},
{as: AVPUNPCKHWD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x69,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x69,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x69,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x69,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x69,
}},
{as: AVPUNPCKLBW, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x60,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x60,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x60,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x60,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x60,
}},
{as: AVPUNPCKLDQ, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x62,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x62,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x62,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x62,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x62,
}},
{as: AVPUNPCKLQDQ, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x6C,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x6C,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x6C,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x6C,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x6C,
}},
{as: AVPUNPCKLWD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x61,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x61,
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexZeroingEnabled, 0x61,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexZeroingEnabled, 0x61,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexZeroingEnabled, 0x61,
}},
{as: AVPXOR, ytab: _yvaddsubpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xEF,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xEF,
}},
{as: AVPXORD, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xEF,
avxEscape | evex256 | evex66 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xEF,
avxEscape | evex512 | evex66 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0xEF,
}},
{as: AVPXORQ, ytab: _yvblendmpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xEF,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xEF,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0xEF,
}},
{as: AVRANGEPD, ytab: _yvfixupimmpd, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled | evexZeroingEnabled, 0x50,
avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x50,
avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x50,
}},
{as: AVRANGEPS, ytab: _yvfixupimmpd, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexBcstN4 | evexSaeEnabled | evexZeroingEnabled, 0x50,
avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x50,
avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x50,
}},
{as: AVRANGESD, ytab: _yvfixupimmsd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN8 | evexSaeEnabled | evexZeroingEnabled, 0x51,
}},
{as: AVRANGESS, ytab: _yvfixupimmsd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN4 | evexSaeEnabled | evexZeroingEnabled, 0x51,
}},
{as: AVRCP14PD, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x4C,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x4C,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x4C,
}},
{as: AVRCP14PS, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x4C,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x4C,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x4C,
}},
{as: AVRCP14SD, ytab: _yvgetexpsd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x4D,
}},
{as: AVRCP14SS, ytab: _yvgetexpsd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x4D,
}},
{as: AVRCP28PD, ytab: _yvexp2pd, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled | evexZeroingEnabled, 0xCA,
}},
{as: AVRCP28PS, ytab: _yvexp2pd, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexSaeEnabled | evexZeroingEnabled, 0xCA,
}},
{as: AVRCP28SD, ytab: _yvgetexpsd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexSaeEnabled | evexZeroingEnabled, 0xCB,
}},
{as: AVRCP28SS, ytab: _yvgetexpsd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexSaeEnabled | evexZeroingEnabled, 0xCB,
}},
{as: AVRCPPS, ytab: _yvptest, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0x53,
avxEscape | vex256 | vex0F | vexW0, 0x53,
}},
{as: AVRCPSS, ytab: _yvrcpss, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x53,
}},
{as: AVREDUCEPD, ytab: _yvgetmantpd, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled | evexZeroingEnabled, 0x56,
avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x56,
avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x56,
}},
{as: AVREDUCEPS, ytab: _yvgetmantpd, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexBcstN4 | evexSaeEnabled | evexZeroingEnabled, 0x56,
avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x56,
avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x56,
}},
{as: AVREDUCESD, ytab: _yvfixupimmsd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN8 | evexSaeEnabled | evexZeroingEnabled, 0x57,
}},
{as: AVREDUCESS, ytab: _yvfixupimmsd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN4 | evexSaeEnabled | evexZeroingEnabled, 0x57,
}},
{as: AVRNDSCALEPD, ytab: _yvgetmantpd, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled | evexZeroingEnabled, 0x09,
avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x09,
avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x09,
}},
{as: AVRNDSCALEPS, ytab: _yvgetmantpd, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexBcstN4 | evexSaeEnabled | evexZeroingEnabled, 0x08,
avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x08,
avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x08,
}},
{as: AVRNDSCALESD, ytab: _yvfixupimmsd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW1, evexN8 | evexSaeEnabled | evexZeroingEnabled, 0x0B,
}},
{as: AVRNDSCALESS, ytab: _yvfixupimmsd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F3A | evexW0, evexN4 | evexSaeEnabled | evexZeroingEnabled, 0x0A,
}},
{as: AVROUNDPD, ytab: _yvroundpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x09,
avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x09,
}},
{as: AVROUNDPS, ytab: _yvroundpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x08,
avxEscape | vex256 | vex66 | vex0F3A | vexW0, 0x08,
}},
{as: AVROUNDSD, ytab: _yvdppd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x0B,
}},
{as: AVROUNDSS, ytab: _yvdppd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F3A | vexW0, 0x0A,
}},
{as: AVRSQRT14PD, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x4E,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x4E,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x4E,
}},
{as: AVRSQRT14PS, ytab: _yvexpandpd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x4E,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x4E,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x4E,
}},
{as: AVRSQRT14SD, ytab: _yvgetexpsd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexZeroingEnabled, 0x4F,
}},
{as: AVRSQRT14SS, ytab: _yvgetexpsd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexZeroingEnabled, 0x4F,
}},
{as: AVRSQRT28PD, ytab: _yvexp2pd, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexSaeEnabled | evexZeroingEnabled, 0xCC,
}},
{as: AVRSQRT28PS, ytab: _yvexp2pd, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexSaeEnabled | evexZeroingEnabled, 0xCC,
}},
{as: AVRSQRT28SD, ytab: _yvgetexpsd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexSaeEnabled | evexZeroingEnabled, 0xCD,
}},
{as: AVRSQRT28SS, ytab: _yvgetexpsd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexSaeEnabled | evexZeroingEnabled, 0xCD,
}},
{as: AVRSQRTPS, ytab: _yvptest, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0x52,
avxEscape | vex256 | vex0F | vexW0, 0x52,
}},
{as: AVRSQRTSS, ytab: _yvrcpss, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x52,
}},
{as: AVSCALEFPD, ytab: _yvscalefpd, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x2C,
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x2C,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x2C,
}},
{as: AVSCALEFPS, ytab: _yvscalefpd, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x2C,
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x2C,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x2C,
}},
{as: AVSCALEFSD, ytab: _yvgetexpsd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0x2D,
}},
{as: AVSCALEFSS, ytab: _yvgetexpsd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0x2D,
}},
{as: AVSCATTERDPD, ytab: _yvpscatterdq, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8, 0xA2,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN8, 0xA2,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8, 0xA2,
}},
{as: AVSCATTERDPS, ytab: _yvpscatterdd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4, 0xA2,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN4, 0xA2,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4, 0xA2,
}},
{as: AVSCATTERPF0DPD, ytab: _yvgatherpf0dpd, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8, 0xC6, 05,
}},
{as: AVSCATTERPF0DPS, ytab: _yvgatherpf0dps, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4, 0xC6, 05,
}},
{as: AVSCATTERPF0QPD, ytab: _yvgatherpf0dps, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8, 0xC7, 05,
}},
{as: AVSCATTERPF0QPS, ytab: _yvgatherpf0dps, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4, 0xC7, 05,
}},
{as: AVSCATTERPF1DPD, ytab: _yvgatherpf0dpd, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8, 0xC6, 06,
}},
{as: AVSCATTERPF1DPS, ytab: _yvgatherpf0dps, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4, 0xC6, 06,
}},
{as: AVSCATTERPF1QPD, ytab: _yvgatherpf0dps, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8, 0xC7, 06,
}},
{as: AVSCATTERPF1QPS, ytab: _yvgatherpf0dps, prefix: Pavx, op: opBytes{
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4, 0xC7, 06,
}},
{as: AVSCATTERQPD, ytab: _yvpscatterdd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW1, evexN8, 0xA3,
avxEscape | evex256 | evex66 | evex0F38 | evexW1, evexN8, 0xA3,
avxEscape | evex512 | evex66 | evex0F38 | evexW1, evexN8, 0xA3,
}},
{as: AVSCATTERQPS, ytab: _yvpscatterqd, prefix: Pavx, op: opBytes{
avxEscape | evex128 | evex66 | evex0F38 | evexW0, evexN4, 0xA3,
avxEscape | evex256 | evex66 | evex0F38 | evexW0, evexN4, 0xA3,
avxEscape | evex512 | evex66 | evex0F38 | evexW0, evexN4, 0xA3,
}},
{as: AVSHUFF32X4, ytab: _yvshuff32x4, prefix: Pavx, op: opBytes{
avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x23,
avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x23,
}},
{as: AVSHUFF64X2, ytab: _yvshuff32x4, prefix: Pavx, op: opBytes{
avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x23,
avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x23,
}},
{as: AVSHUFI32X4, ytab: _yvshuff32x4, prefix: Pavx, op: opBytes{
avxEscape | evex256 | evex66 | evex0F3A | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x43,
avxEscape | evex512 | evex66 | evex0F3A | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x43,
}},
{as: AVSHUFI64X2, ytab: _yvshuff32x4, prefix: Pavx, op: opBytes{
avxEscape | evex256 | evex66 | evex0F3A | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x43,
avxEscape | evex512 | evex66 | evex0F3A | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x43,
}},
{as: AVSHUFPD, ytab: _yvgf2p8affineinvqb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0xC6,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0xC6,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0xC6,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0xC6,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0xC6,
}},
{as: AVSHUFPS, ytab: _yvgf2p8affineinvqb, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0xC6,
avxEscape | vex256 | vex0F | vexW0, 0xC6,
avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0xC6,
avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0xC6,
avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0xC6,
}},
{as: AVSQRTPD, ytab: _yvcvtdq2ps, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x51,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x51,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x51,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x51,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x51,
}},
{as: AVSQRTPS, ytab: _yvcvtdq2ps, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0x51,
avxEscape | vex256 | vex0F | vexW0, 0x51,
avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x51,
avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x51,
avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x51,
}},
{as: AVSQRTSD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x51,
avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0x51,
}},
{as: AVSQRTSS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x51,
avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0x51,
}},
{as: AVSTMXCSR, ytab: _yvldmxcsr, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0xAE, 03,
}},
{as: AVSUBPD, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x5C,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x5C,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexRoundingEnabled | evexZeroingEnabled, 0x5C,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x5C,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x5C,
}},
{as: AVSUBPS, ytab: _yvaddpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0x5C,
avxEscape | vex256 | vex0F | vexW0, 0x5C,
avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexRoundingEnabled | evexZeroingEnabled, 0x5C,
avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x5C,
avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x5C,
}},
{as: AVSUBSD, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF2 | vex0F | vexW0, 0x5C,
avxEscape | evex128 | evexF2 | evex0F | evexW1, evexN8 | evexRoundingEnabled | evexZeroingEnabled, 0x5C,
}},
{as: AVSUBSS, ytab: _yvaddsd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vexF3 | vex0F | vexW0, 0x5C,
avxEscape | evex128 | evexF3 | evex0F | evexW0, evexN4 | evexRoundingEnabled | evexZeroingEnabled, 0x5C,
}},
{as: AVTESTPD, ytab: _yvptest, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x0F,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x0F,
}},
{as: AVTESTPS, ytab: _yvptest, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F38 | vexW0, 0x0E,
avxEscape | vex256 | vex66 | vex0F38 | vexW0, 0x0E,
}},
{as: AVUCOMISD, ytab: _yvcomisd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x2E,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN8 | evexSaeEnabled, 0x2E,
}},
{as: AVUCOMISS, ytab: _yvcomisd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0x2E,
avxEscape | evex128 | evex0F | evexW0, evexN4 | evexSaeEnabled, 0x2E,
}},
{as: AVUNPCKHPD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x15,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x15,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x15,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x15,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x15,
}},
{as: AVUNPCKHPS, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0x15,
avxEscape | vex256 | vex0F | vexW0, 0x15,
avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x15,
avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x15,
avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x15,
}},
{as: AVUNPCKLPD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x14,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x14,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x14,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x14,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x14,
}},
{as: AVUNPCKLPS, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0x14,
avxEscape | vex256 | vex0F | vexW0, 0x14,
avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x14,
avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x14,
avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x14,
}},
{as: AVXORPD, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex66 | vex0F | vexW0, 0x57,
avxEscape | vex256 | vex66 | vex0F | vexW0, 0x57,
avxEscape | evex128 | evex66 | evex0F | evexW1, evexN16 | evexBcstN8 | evexZeroingEnabled, 0x57,
avxEscape | evex256 | evex66 | evex0F | evexW1, evexN32 | evexBcstN8 | evexZeroingEnabled, 0x57,
avxEscape | evex512 | evex66 | evex0F | evexW1, evexN64 | evexBcstN8 | evexZeroingEnabled, 0x57,
}},
{as: AVXORPS, ytab: _yvandnpd, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0x57,
avxEscape | vex256 | vex0F | vexW0, 0x57,
avxEscape | evex128 | evex0F | evexW0, evexN16 | evexBcstN4 | evexZeroingEnabled, 0x57,
avxEscape | evex256 | evex0F | evexW0, evexN32 | evexBcstN4 | evexZeroingEnabled, 0x57,
avxEscape | evex512 | evex0F | evexW0, evexN64 | evexBcstN4 | evexZeroingEnabled, 0x57,
}},
{as: AVZEROALL, ytab: _yvzeroall, prefix: Pavx, op: opBytes{
avxEscape | vex256 | vex0F | vexW0, 0x77,
}},
{as: AVZEROUPPER, ytab: _yvzeroall, prefix: Pavx, op: opBytes{
avxEscape | vex128 | vex0F | vexW0, 0x77,
}},
}
|