From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qk1-x733.google.com (mail-qk1-x733.google.com [IPv6:2607:f8b0:4864:20::733]) by sourceware.org (Postfix) with ESMTPS id 56C813858C74 for ; Thu, 11 Aug 2022 17:38:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 56C813858C74 Received: by mail-qk1-x733.google.com with SMTP id t11so3243732qkt.6 for ; Thu, 11 Aug 2022 10:38:46 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc; bh=eH1kV8Mw2oRJ45vKuFK+3QDNjyUw9UbUtsHXh2bkMGw=; b=u7aRpsaUpLrQbyihYL07Nb0t6Rn3amtWgeU69KPXZ2IE5P9KbFtJibzRkVlSycuhZi UnHh5ya5ibrHk1KB8GWJMqCqK2r+8oCj4VzfIl3TvkHyLN0NNk/ZjaqkxJ24vMmYIK1I ZLrEaPS2G5LrKLtj+hQOSOEcusKvYiZqEvqZ4B+PyXw96J5J12DAh5XWJOc5aD2JKNv5 jbd7pMi7xwfTGVA3UMrGpVg7YO+SjKVD6QmVB9QWpJDT2SzS8B3hUAVDZ1fNUwriVB+s o354Lld7DSvv/9XYyJyQrxKf5q7TTRDVTN2uaXi432uCOjDxL8o3syurMhsIKHWrTXDH gvOA== X-Gm-Message-State: ACgBeo3I4XF4vhYwkjjrlK7pStHL8AhQSDDbjj/AUH4STlTx88vxYVqr k1+fUUDZybX3j6WVYXYMbaHgBD0oIP7pl4RCdRrzPnh0 X-Google-Smtp-Source: AA6agR6zsXCThsYi4Dgy4d2ATlsc8Mkm30yfQRPXgmdCcaKAADIQ0teRuTncNXzYYS4A4IxX9yOQlls/edmeG/j4jnc= X-Received: by 2002:a05:620a:2a0a:b0:6b5:e22d:7c4c with SMTP id o10-20020a05620a2a0a00b006b5e22d7c4cmr42454qkp.477.1660239525171; Thu, 11 Aug 2022 10:38:45 -0700 (PDT) MIME-Version: 1.0 References: <19c503df-c12f-c099-7f0b-226d5919968d@suse.com> In-Reply-To: <19c503df-c12f-c099-7f0b-226d5919968d@suse.com> From: "H.J. Lu" Date: Thu, 11 Aug 2022 10:38:09 -0700 Message-ID: Subject: Re: [PATCH 10/12] x86: template-ize vector packed byte/word integer insns To: Jan Beulich Cc: Binutils Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-3018.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Aug 2022 17:38:52 -0000 On Fri, Aug 5, 2022 at 5:27 AM Jan Beulich wrote: > > Many of the vector integer insns come in byte/word element pairs. Most > of these pairs follow certain encoding patterns. Introduce a "bw" > template to reduce redundancy. > > Note that in the course of the conversion > - the AVX VPEXTRW template which is not being touched needs to remain > ahead of the new "combined" ones, as (a) this should be tried first > when matching insns against templates and (b) its Load attributes > requires it to be first, > - this add a benign/meaningless IgnoreSize attribute to the memory form > of PEXTRB; it didn't seem worth avoiding this. > --- > For VPCOMPRESS{B,W} and VPEXPAND{B,W} the conversion could only be done > if we allowed Byte/Word on the memory operands. Imo permitting this > makes sense anyway (as the memory operands aren't full [XYZ]mmword > ones), but such a functional change should probably be a separate patch. > > It might even be worth having a separate bwd template, but the (further) > gains there won't be as high. > > --- a/opcodes/i386-opc.tbl > +++ b/opcodes/i386-opc.tbl > @@ -971,6 +971,10 @@ pause, 0xf390, None, Cpu186, No_bSuf|No_ > $avx:CpuAVX:Vex128|VexW0|SSE2AVX:VexLIG|VexW0|SSE2AVX:VexVVVV:Vex128= |VexVVVV=3D2|VexW0|SSE2AVX, + > $sse:CpuSSE2::NoRex64::> > > + + b:0:VexW0:Byte:CpuAVX512DQ:66:CpuAVX512VBMI, + > + w:1:VexW1:Word:CpuAVX512F::CpuAVX512BW> > + > d:0:VexW0:IgnoreSize:Dword::Reg32:66, + > q:1:VexW1:VexW1:Qword:Cpu64:Reg64:> > @@ -997,22 +1001,17 @@ movq, 0xf6e, None, CpuMMX|Cpu64, D|Modrm > packssdw, 0x0f6b, None, , Modrm||No_bSu= f|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecifi= ed|BaseIndex, } > packsswb, 0x0f63, None, , Modrm||No_bSu= f|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecifi= ed|BaseIndex, } > packuswb, 0x0f67, None, , Modrm||No_bSu= f|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecifi= ed|BaseIndex, } > -paddb, 0x0ffc, None, , Modrm||C|No_bSuf= |No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecifie= d|BaseIndex, } > -paddw, 0x0ffd, None, , Modrm||C|No_bSuf= |No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecifie= d|BaseIndex, } > +padd, 0x0ffc | , None, , Modrm||C|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecified|BaseIndex, } > paddd, 0x0ffe, None, , Modrm||C|No_bSuf= |No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecifie= d|BaseIndex, } > paddq, 0x660fd4, None, , Modrm|||C= |No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Unspecified|Bas= eIndex, RegXMM } > paddq, 0xfd4, None, CpuSSE2, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qS= uf|No_ldSuf|NoRex64, { Qword|Unspecified|BaseIndex|RegMMX, RegMMX } > -paddsb, 0x0fec, None, , Modrm||C|No_bSu= f|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecifi= ed|BaseIndex, } > -paddsw, 0x0fed, None, , Modrm||C|No_bSu= f|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecifi= ed|BaseIndex, } > -paddusb, 0x0fdc, None, , Modrm||C|No_bS= uf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecif= ied|BaseIndex, } > -paddusw, 0x0fdd, None, , Modrm||C|No_bS= uf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecif= ied|BaseIndex, } > +padds, 0x0fec | , None, , Modrm||C|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecified|BaseIndex, } > +paddus, 0x0fdc | , None, , Modrm||C|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecified|BaseIndex, } > pand, 0x0fdb, None, , Modrm||C|No_bSuf|= No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecified= |BaseIndex, } > pandn, 0x0fdf, None, , Modrm||No_bSuf|N= o_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecified|= BaseIndex, } > -pcmpeqb, 0x0f74, None, , Modrm||C|No_bS= uf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecif= ied|BaseIndex, } > -pcmpeqw, 0x0f75, None, , Modrm||C|No_bS= uf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecif= ied|BaseIndex, } > +pcmpeq, 0x0f74 | , None, , Modrm||C|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecified|BaseIndex, } > pcmpeqd, 0x0f76, None, , Modrm||C|No_bS= uf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecif= ied|BaseIndex, } > -pcmpgtb, 0x0f64, None, , Modrm||No_bSuf= |No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecifie= d|BaseIndex, } > -pcmpgtw, 0x0f65, None, , Modrm||No_bSuf= |No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecifie= d|BaseIndex, } > +pcmpgt, 0x0f64 | , None, , Modrm||No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecified|BaseIndex, } > pcmpgtd, 0x0f66, None, , Modrm||No_bSuf= |No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecifie= d|BaseIndex, } > pmaddwd, 0x0ff5, None, , Modrm||C|No_bS= uf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecif= ied|BaseIndex, } > pmulhw, 0x0fe5, None, , Modrm||C|No_bSu= f|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecifi= ed|BaseIndex, } > @@ -1030,15 +1029,12 @@ psrlw, 0x0fd1, None, psrlw, 0x0f71, 2, , Modrm||No_bSuf|No_= wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, } > psrl, 0x0fd2 | , None, , Modrm||No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecified|BaseIndex, } > psrl, 0x0f72 | , 2, , Modrm||No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, } > -psubb, 0x0ff8, None, , Modrm||No_bSuf|N= o_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecified|= BaseIndex, } > -psubw, 0x0ff9, None, , Modrm||No_bSuf|N= o_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecified|= BaseIndex, } > +psub, 0x0ff8 | , None, , Modrm||No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecified|BaseIndex, } > psubd, 0x0ffa, None, , Modrm||No_bSuf|N= o_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecified|= BaseIndex, } > psubq, 0x660ffb, None, , Modrm|||N= o_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Unspecified|BaseI= ndex, RegXMM } > psubq, 0xffb, None, CpuSSE2, Modrm|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qS= uf|No_ldSuf|NoRex64, { Qword|Unspecified|BaseIndex|RegMMX, RegMMX } > -psubsb, 0x0fe8, None, , Modrm||No_bSuf|= No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecified= |BaseIndex, } > -psubsw, 0x0fe9, None, , Modrm||No_bSuf|= No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecified= |BaseIndex, } > -psubusb, 0x0fd8, None, , Modrm||No_bSuf= |No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecifie= d|BaseIndex, } > -psubusw, 0x0fd9, None, , Modrm||No_bSuf= |No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecifie= d|BaseIndex, } > +psubs, 0x0fe8 | , None, , Modrm||No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecified|BaseIndex, } > +psubus, 0x0fd8 | , None, , Modrm||No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecified|BaseIndex, } > punpckhbw, 0x0f68, None, , Modrm||No_bS= uf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecif= ied|BaseIndex, } > punpckhwd, 0x0f69, None, , Modrm||No_bS= uf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecif= ied|BaseIndex, } > punpckhdq, 0x0f6a, None, , Modrm||No_bS= uf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecif= ied|BaseIndex, } > @@ -1106,10 +1102,8 @@ movups, 0x0f10, None, , D| > mulps, 0x0f59, None, , Modrm|||No_bSuf= |No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Unspecified|BaseIndex, = RegXMM } > mulss, 0xf30f59, None, , Modrm|||No_bS= uf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Dword|Unspecified|BaseIndex|= RegXMM, RegXMM } > orps, 0x0f56, None, , Modrm|||C|No_bSu= f|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Unspecified|BaseIndex,= RegXMM } > -pavgb, 0xfe0, None, CpuSSE|Cpu3dnowA, Modrm|No_bSuf|No_wSuf|No_lSuf|No_s= Suf|No_qSuf|No_ldSuf|NoRex64, { Qword|Unspecified|BaseIndex|RegMMX, RegMMX = } > -pavgb, 0x660fe0, None, , Modrm|||C= |No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Unspecified|Bas= eIndex, RegXMM } > -pavgw, 0xfe3, None, CpuSSE|Cpu3dnowA, Modrm|No_bSuf|No_wSuf|No_lSuf|No_s= Suf|No_qSuf|No_ldSuf|NoRex64, { Qword|Unspecified|BaseIndex|RegMMX, RegMMX = } > -pavgw, 0x660fe3, None, , Modrm|||C= |No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Unspecified|Bas= eIndex, RegXMM } > +pavg, 0xfe0 | (3 * ), None, CpuSSE|Cpu3dnowA, Modrm|No_bSuf|= No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Qword|Unspecified|BaseI= ndex|RegMMX, RegMMX } > +pavg, 0x660fe0 | (3 * ), None, , Modrm|||C|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Re= gXMM|Unspecified|BaseIndex, RegXMM } > pextrw, 0x660fc5, None, , Load|Modrm||No_bSuf= |No_wSuf|No_sSuf|No_ldSuf|IgnoreSize|NoRex64, { Imm8, RegXMM, Reg32|Reg64 } > pextrw, 0xfc5, None, CpuSSE|Cpu3dnowA, Modrm|IgnoreSize|No_bSuf|No_wSuf|= No_sSuf|No_ldSuf|NoRex64, { Imm8, RegMMX, Reg32|Reg64 } > pinsrw, 0x660fc4, None, , Modrm|||= No_bSuf|No_wSuf|No_sSuf|No_ldSuf|IgnoreSize|NoRex64, { Imm8, Reg32|Reg64, R= egXMM } > @@ -1323,12 +1317,10 @@ phsubsw, 0x0f3807, Non > pmaddubsw, 0x0f3804, None, , Modrm|||No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecified|BaseIndex, } > pmulhrsw, 0x0f380b, None, , Modrm|||No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecified|BaseIndex, } > pshufb, 0x0f3800, None, , Modrm|||No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecified|BaseIndex, } > -psignb, 0x0f3808, None, , Modrm|||No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecified|BaseIndex, } > -psignw, 0x0f3809, None, , Modrm|||No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecified|BaseIndex, } > +psign, 0x0f3808 | , None, , Mod= rm|||No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldS= uf, { ||Unspecified|BaseIndex, } > psignd, 0x0f380a, None, , Modrm|||No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecified|BaseIndex, } > palignr, 0x0f3a0f, None, , Modrm|||No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, <= ssse3:reg>||Unspecified|BaseIndex, } > -pabsb, 0x0f381c, None, , Modrm|= |No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecified|BaseIndex, } > -pabsw, 0x0f381d, None, , Modrm|= |No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecified|BaseIndex, } > +pabs, 0x0f381c | , None, , Modr= m||No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecified|BaseIndex, } > pabsd, 0x0f381e, None, , Modrm|= |No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { ||Unspecified|BaseIndex, } > > // SSE4.1 instructions. > @@ -1356,10 +1348,8 @@ pblendvb, 0x660f3810, None, CpuSSE4_1, M > pblendvb, 0x660f3810, None, CpuSSE4_1, Modrm|No_bSuf|No_wSuf|No_lSuf|No_= sSuf|No_qSuf|No_ldSuf, { RegXMM|Unspecified|BaseIndex, RegXMM } > pblendw, 0x660f3a0e, None, , Modrm|||No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM|Uns= pecified|BaseIndex, RegXMM } > pcmpeqq, 0x660f3829, None, , Modrm|||No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Unspecifi= ed|BaseIndex, RegXMM } > -pextrb, 0x660f3a14, None, , RegMem||No_bSu= f|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|IgnoreSize|NoRex64, { Imm8, RegX= MM, Reg32|Reg64 } > -pextrb, 0x660f3a14, None, , Modrm||No_bSuf= |No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, Byte|Unspecified= |BaseIndex } > -pextrw, 0x660f3a15, None, , RegMem||No_bSu= f|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|IgnoreSize|NoRex64, { Imm8, RegX= MM, Reg32|Reg64 } > -pextrw, 0x660f3a15, None, , Modrm||No_bSuf= |No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|IgnoreSize, { Imm8, RegXMM, Word|= Unspecified|BaseIndex } > +pextr, 0x660f3a14 | , None, , RegMem||No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|IgnoreSize|NoRex64= , { Imm8, RegXMM, Reg32|Reg64 } > +pextr, 0x660f3a14 | , None, , Modrm||No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|IgnoreSize, { Imm8,= RegXMM, |Unspecified|BaseIndex } > pextrd, 0x660f3a16, None, , Modrm||No_bSuf= |No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|IgnoreSize, { Imm8, RegXMM, Reg32= |Unspecified|BaseIndex } > pextrq, 0x6616, None, CpuAVX|Cpu64, Modrm|Vex|Space0F3A|VexW1|No_bSuf|No= _wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Imm8, RegXMM, Reg64|Unspe= cified|BaseIndex } > pextrq, 0x660f3a16, None, CpuSSE4_1|Cpu64, Modrm|Size64|No_bSuf|No_wSuf|= No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, Reg64|Unspecified|BaseInd= ex } > @@ -1571,51 +1561,42 @@ vmpsadbw, 0x6642, None, CpuAVX|CpuAVX2, > vmulp, 0x59, None, CpuAVX, Modrm|Vex|Space0F|VexVVVV|VexWIG= |CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecifi= ed|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > vmuls, 0x59, None, CpuAVX, Modrm|VexLIG|Space0F|VexVVVV|Vex= WIG|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { |Unspecifi= ed|BaseIndex|RegXMM, RegXMM, RegXMM } > vorp, 0x56, None, CpuAVX, Modrm|C|Vex|Space0F|VexVVVV|VexWI= G|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecif= ied|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > -vpabsb, 0x661c, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F38|VexWIG|CheckRe= gSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseI= ndex|RegXMM|RegYMM, RegXMM|RegYMM } > +vpabs, 0x661c | , None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F38|= VexWIG|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Uns= pecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM } > vpabsd, 0x661e, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F38|VexWIG|CheckRe= gSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseI= ndex|RegXMM|RegYMM, RegXMM|RegYMM } > -vpabsw, 0x661d, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F38|VexWIG|CheckRe= gSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseI= ndex|RegXMM|RegYMM, RegXMM|RegYMM } > vpackssdw, 0x666b, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F|VexVVVV|VexWI= G|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecif= ied|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > vpacksswb, 0x6663, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F|VexVVVV|VexWI= G|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecif= ied|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > vpackusdw, 0x662b, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F38|VexVVVV|Vex= WIG|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspec= ified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > vpackuswb, 0x6667, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F|VexVVVV|VexWI= G|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecif= ied|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > -vpaddsb, 0x66ec, None, CpuAVX|CpuAVX2, Modrm|C|Vex|Space0F|VexVVVV|VexWI= G|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecif= ied|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > -vpaddsw, 0x66ed, None, CpuAVX|CpuAVX2, Modrm|C|Vex|Space0F|VexVVVV|VexWI= G|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecif= ied|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > -vpaddb, 0x66fc, None, CpuAVX|CpuAVX2, Modrm|C|Vex|Space0F|VexVVVV|VexWIG= |CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecifi= ed|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > +vpadds, 0x66ec | , None, CpuAVX|CpuAVX2, Modrm|C|Vex|Space0F= |VexVVVV|VexWIG|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldS= uf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > +vpadd, 0x66fc | , None, CpuAVX|CpuAVX2, Modrm|C|Vex|Space0F|= VexVVVV|VexWIG|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSu= f, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > vpaddd, 0x66fe, None, CpuAVX|CpuAVX2, Modrm|C|Vex|Space0F|VexVVVV|VexWIG= |CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecifi= ed|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > vpaddq, 0x66d4, None, CpuAVX|CpuAVX2, Modrm|C|Vex|Space0F|VexVVVV|VexWIG= |CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecifi= ed|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > -vpaddw, 0x66fd, None, CpuAVX|CpuAVX2, Modrm|C|Vex|Space0F|VexVVVV|VexWIG= |CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecifi= ed|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > -vpaddusb, 0x66dc, None, CpuAVX|CpuAVX2, Modrm|C|Vex|Space0F|VexVVVV|VexW= IG|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspeci= fied|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > -vpaddusw, 0x66dd, None, CpuAVX|CpuAVX2, Modrm|C|Vex|Space0F|VexVVVV|VexW= IG|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspeci= fied|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > +vpaddus, 0x66dc | , None, CpuAVX|CpuAVX2, Modrm|C|Vex|Space0= F|VexVVVV|VexWIG|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ld= Suf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > vpalignr, 0x660f, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F3A|VexVVVV|VexW= IG|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, U= nspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > vpand, 0x66db, None, CpuAVX|CpuAVX2, Modrm|C|Vex|Space0F|VexVVVV|VexWIG|= CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecifie= d|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > vpandn, 0x66df, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F|VexVVVV|VexWIG|C= heckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { Un= specified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > -vpavgb, 0x66e0, None, CpuAVX|CpuAVX2, Modrm|C|Vex|Space0F|VexVVVV|VexWIG= |CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecifi= ed|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > -vpavgw, 0x66e3, None, CpuAVX|CpuAVX2, Modrm|C|Vex|Space0F|VexVVVV|VexWIG= |CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecifi= ed|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > +vpavg, 0x66e0 | (3 * ), None, CpuAVX|CpuAVX2, Modrm|C|Vex|Sp= ace0F|VexVVVV|VexWIG|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|N= o_ldSuf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYM= M } > vpblendvb, 0x664c, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F3A|VexVVVV|Vex= WIG|CheckRegSize|VexSources=3D2|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_= ldSuf, { RegXMM|RegYMM, Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM,= RegXMM|RegYMM } > vpblendw, 0x660e, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F3A|VexVVVV|VexW= IG|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, U= nspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > -vpcmpeqb, 0x6674, None, CpuAVX|CpuAVX2, Modrm|C|Vex|Space0F|VexVVVV|VexW= IG|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspeci= fied|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > +vpcmpeq, 0x6674 | , None, CpuAVX|CpuAVX2, Modrm|C|Vex|Space0= F|VexVVVV|VexWIG|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ld= Suf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > vpcmpeqd, 0x6676, None, CpuAVX|CpuAVX2, Modrm|C|Vex|Space0F|VexVVVV|VexW= IG|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspeci= fied|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > vpcmpeqq, 0x6629, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F38|VexVVVV|VexW= IG|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspeci= fied|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > -vpcmpeqw, 0x6675, None, CpuAVX|CpuAVX2, Modrm|C|Vex|Space0F|VexVVVV|VexW= IG|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspeci= fied|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > vpcmpestri, 0x6661, None, CpuAVX|CpuNo64, Modrm|Vex|Space0F3A|No_bSuf|No= _wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Unspecified|BaseIndex|RegXM= M, RegXMM } > vpcmpestri, 0x6661, None, CpuAVX|Cpu64, Modrm|Vex|Space0F3A|IgnoreSize|N= o_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Imm8, Xmmword|Unspecified|BaseIndex|RegX= MM, RegXMM } > vpcmpestrm, 0x6660, None, CpuAVX|CpuNo64, Modrm|Vex|Space0F3A|No_bSuf|No= _wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Unspecified|BaseIndex|RegXM= M, RegXMM } > vpcmpestrm, 0x6660, None, CpuAVX|Cpu64, Modrm|Vex|Space0F3A|IgnoreSize|N= o_bSuf|No_wSuf|No_sSuf|No_ldSuf, { Imm8, Xmmword|Unspecified|BaseIndex|RegX= MM, RegXMM } > -vpcmpgtb, 0x6664, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F|VexVVVV|VexWIG= |CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecifi= ed|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > +vpcmpgt, 0x6664 | , None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F|= VexVVVV|VexWIG|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSu= f, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > vpcmpgtd, 0x6666, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F|VexVVVV|VexWIG= |CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecifi= ed|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > vpcmpgtq, 0x6637, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F38|VexVVVV|VexW= IG|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspeci= fied|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > -vpcmpgtw, 0x6665, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F|VexVVVV|VexWIG= |CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecifi= ed|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > vpcmpistri, 0x6663, None, CpuAVX, Modrm|Vex|Space0F3A|VexWIG|No_bSuf|No_= wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Unspecified|BaseIndex|RegXMM= , RegXMM } > vpcmpistrm, 0x6662, None, CpuAVX, Modrm|Vex|Space0F3A|VexWIG|No_bSuf|No_= wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Unspecified|BaseIndex|RegXMM= , RegXMM } > vperm2f128, 0x6606, None, CpuAVX, Modrm|Vex=3D2|Space0F3A|VexVVVV=3D1|Ve= xW=3D1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Unspecifie= d|BaseIndex|RegYMM, RegYMM, RegYMM } > vpermilp, 0x660c | , None, CpuAVX, Modrm|Vex|Space0F38|VexVV= VV|VexW0|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { U= nspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > vpermilp, 0x6604 | , None, CpuAVX, Modrm|Vex|Space0F3A|VexW0= |CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Uns= pecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM } > -vpextrb, 0x6614, None, CpuAVX, RegMem|Vex|Space0F3A|VexWIG|No_bSuf|No_wS= uf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, Reg32|Reg64 } > -vpextrb, 0x6614, None, CpuAVX, Modrm|Vex|Space0F3A|VexWIG|No_bSuf|No_wSu= f|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, Byte|Unspecified|BaseIn= dex } > vpextr, 0x6616, None, CpuAVX|, Modrm|Vex|Space0F3A||No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, |Unspecified|BaseIndex } > vpextrw, 0x66c5, None, CpuAVX, Load|Modrm|Vex|Space0F|VexWIG|No_bSuf|No_= wSuf|No_sSuf|No_ldSuf, { Imm8, RegXMM, Reg32|Reg64 } > -vpextrw, 0x6615, None, CpuAVX, RegMem|Vex|Space0F3A|VexWIG|No_bSuf|No_wS= uf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, Reg32|Reg64 } > -vpextrw, 0x6615, None, CpuAVX, Modrm|Vex|Space0F3A|VexWIG|No_bSuf|No_wSu= f|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, Word|Unspecified|BaseIn= dex } > +vpextr, 0x6614 | , None, CpuAVX, RegMem|Vex|Space0F3A|VexWIG= |No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, Reg32|Re= g64 } > +vpextr, 0x6614 | , None, CpuAVX, Modrm|Vex|Space0F3A|VexWIG|= No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, = |Unspecified|BaseIndex } > vphaddd, 0x6602, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F38|VexVVVV|VexWI= G|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecif= ied|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > vphaddsw, 0x6603, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F38|VexVVVV|VexW= IG|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspeci= fied|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > vphaddw, 0x6601, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F38|VexVVVV|VexWI= G|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecif= ied|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > @@ -1668,9 +1649,8 @@ vpshufb, 0x6600, None, CpuAVX|CpuAVX2, M > vpshufd, 0x6670, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F|VexWIG|CheckReg= Size|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Unspecified|= BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM } > vpshufhw, 0xf370, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F|VexWIG|CheckRe= gSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Unspecified= |BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM } > vpshuflw, 0xf270, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F|VexWIG|CheckRe= gSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Unspecified= |BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM } > -vpsignb, 0x6608, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F38|VexVVVV|VexWI= G|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecif= ied|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > +vpsign, 0x6608 | , None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F38= |VexVVVV|VexWIG|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldS= uf, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > vpsignd, 0x660a, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F38|VexVVVV|VexWI= G|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecif= ied|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > -vpsignw, 0x6609, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F38|VexVVVV|VexWI= G|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecif= ied|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > vpsll, 0x6672 | , 6, CpuAVX|CpuAVX2, Modrm|Vex|Space0F|VexVV= VV=3D2|VexWIG|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf= , { Imm8, RegXMM|RegYMM, RegXMM|RegYMM } > vpsll, 0x66f2 | , None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F|Ve= xVVVV|VexWIG|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf,= { Unspecified|BaseIndex|RegXMM, RegXMM|RegYMM, RegXMM|RegYMM } > vpslldq, 0x6673, 7, CpuAVX|CpuAVX2, Modrm|Vex|Space0F|VexVVVV=3D2|VexWIG= |CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Reg= XMM|RegYMM, RegXMM|RegYMM } > @@ -1685,13 +1665,10 @@ vpsrl, 0x66d2 | , None, CpuA > vpsrldq, 0x6673, 3, CpuAVX|CpuAVX2, Modrm|Vex|Space0F|VexVVVV=3D2|VexWIG= |CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Reg= XMM|RegYMM, RegXMM|RegYMM } > vpsrlw, 0x6671, 2, CpuAVX|CpuAVX2, Modrm|Vex|Space0F|VexVVVV=3D2|VexWIG|= CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegX= MM|RegYMM, RegXMM|RegYMM } > vpsrlw, 0x66d1, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F|VexVVVV|VexWIG|C= heckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified= |BaseIndex|RegXMM, RegXMM|RegYMM, RegXMM|RegYMM } > -vpsubb, 0x66f8, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F|VexVVVV|VexWIG|C= heckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { Un= specified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > +vpsub, 0x66f8 | , None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F|Ve= xVVVV|VexWIG|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|= Optimize, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegY= MM } > vpsub, 0x66fa | , None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F|Ve= xVVVV|VexWIG|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|= Optimize, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegY= MM } > -vpsubsb, 0x66e8, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F|VexVVVV|VexWIG|= CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecifie= d|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > -vpsubsw, 0x66e9, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F|VexVVVV|VexWIG|= CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecifie= d|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > -vpsubusb, 0x66d8, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F|VexVVVV|VexWIG= |CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecifi= ed|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > -vpsubusw, 0x66d9, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F|VexVVVV|VexWIG= |CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecifi= ed|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > -vpsubw, 0x66f9, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F|VexVVVV|VexWIG|C= heckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { Un= specified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > +vpsubs, 0x66e8 | , None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F|V= exVVVV|VexWIG|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf= , { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > +vpsubus, 0x66d8 | , None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F|= VexVVVV|VexWIG|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSu= f, { Unspecified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > vptest, 0x6617, None, CpuAVX, Modrm|Vex|Space0F38|VexWIG|CheckRegSize|No= _bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|Reg= XMM|RegYMM, RegXMM|RegYMM } > vpunpckhbw, 0x6668, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F|VexVVVV|VexW= IG|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspeci= fied|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > vpunpckhdq, 0x666a, None, CpuAVX|CpuAVX2, Modrm|Vex|Space0F|VexVVVV|VexW= IG|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspeci= fied|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > @@ -1743,9 +1720,8 @@ vbroadcasti128, 0x665A, None, CpuAVX2, M > vbroadcastsd, 0x6619, None, CpuAVX2, Modrm|Vex=3D2|Space0F38|VexW=3D1|No= _bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegYMM } > vbroadcastss, 0x6618, None, CpuAVX2, Modrm|Vex|Space0F38|VexW=3D1|No_bSu= f|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM, RegXMM|RegYMM } > vpblendd, 0x6602, None, CpuAVX2, Modrm|Vex|Space0F3A|VexVVVV=3D1|VexW=3D= 1|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Un= specified|BaseIndex|RegXMM|RegYMM, RegXMM|RegYMM, RegXMM|RegYMM } > -vpbroadcastb, 0x6678, None, CpuAVX2, Modrm|Vex=3D1|Space0F38|VexW0|No_bS= uf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Byte|Unspecified|BaseIndex|R= egXMM, RegXMM|RegYMM } > +vpbroadcast, 0x6678 | , None, CpuAVX2, Modrm|Vex|Space0F38|V= exW0|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { |Unspecif= ied|BaseIndex|RegXMM, RegXMM|RegYMM } > vpbroadcast, 0x6658 | , None, CpuAVX2, Modrm|Vex|Space0F38|V= exW0|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { |Unspecif= ied|BaseIndex|RegXMM, RegXMM|RegYMM } > -vpbroadcastw, 0x6679, None, CpuAVX2, Modrm|Vex=3D1|Space0F38|VexW0|No_bS= uf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Word|Unspecified|BaseIndex|R= egXMM, RegXMM|RegYMM } > vperm2i128, 0x6646, None, CpuAVX2, Modrm|Vex=3D2|Space0F3A|VexVVVV=3D1|V= exW=3D1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Unspecifi= ed|BaseIndex|RegYMM, RegYMM, RegYMM } > vpermd, 0x6636, None, CpuAVX2, Modrm|Vex=3D2|Space0F38|VexVVVV=3D1|VexW= =3D1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIn= dex|RegYMM, RegYMM, RegYMM } > vpermpd, 0x6601, None, CpuAVX2, Modrm|Vex=3D2|Space0F3A|VexW=3D2|No_bSuf= |No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Unspecified|BaseIndex|Re= gYMM, RegYMM } > @@ -2068,21 +2044,21 @@ vpclmulhqhqdq, 0x6644, 0x11, CpuVPCLMULQ > d:CpuAVX512F:CpuAVX512DQ:66:f2:66:Space0F:Space0F38:1:VexW1:Qword, + > h:CpuAVX512_FP16:CpuAVX512_FP16::f3::EVexMap5:EVexMap6:0:VexW0:Word> > > -kandnw, 0x42, None, CpuAVX512F, Modrm|Vex=3D2|Space0F|VexVVVV=3D1|VexW= =3D1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, = RegMask } > -kandw, 0x41, None, CpuAVX512F, Modrm|Vex=3D2|Space0F|VexVVVV=3D1|VexW=3D= 1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, Reg= Mask } > -korw, 0x45, None, CpuAVX512F, Modrm|Vex=3D2|Space0F|VexVVVV=3D1|VexW=3D1= |No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, RegM= ask } > -kxnorw, 0x46, None, CpuAVX512F, Modrm|Vex=3D2|Space0F|VexVVVV=3D1|VexW= =3D1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, = RegMask } > -kxorw, 0x47, None, CpuAVX512F, Modrm|Vex=3D2|Space0F|VexVVVV=3D1|VexW=3D= 1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, Reg= Mask } > - > -kmovw, 0x90, None, CpuAVX512F, Modrm|Vex=3D1|Space0F|VexW0|No_bSuf|No_wS= uf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask|Word|Unspecified|BaseIndex, = RegMask } > -kmovw, 0x91, None, CpuAVX512F, Modrm|Vex=3D1|Space0F|VexW0|No_bSuf|No_wS= uf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, Word|Unspecified|BaseIndex = } > -kmovw, 0x92, None, CpuAVX512F, D|Modrm|Vex=3D1|Space0F|VexW=3D1|No_bSuf|= No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32, RegMask } > +kand, 0x41, None, , Modrm|Vex256|Space0F|VexVVVV|V= exW0|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, = RegMask } > +kandn, 0x42, None, , Modrm|Vex256|Space0F|VexVVVV|= VexW0|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask,= RegMask } > +kor, 0x45, None, , Modrm|Vex256|Space0F|VexVVVV|Ve= xW0|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, R= egMask } > +kxnor, 0x46, None, , Modrm|Vex256|Space0F|VexVVVV|= VexW0|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask,= RegMask } > +kxor, 0x47, None, , Modrm|Vex256|Space0F|VexVVVV|V= exW0|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, = RegMask } > + > +kmov, 0x90, None, , Modrm|Vex128|Space0F|VexW0|No_= bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask||Unspecif= ied|BaseIndex, RegMask } > +kmov, 0x91, None, , Modrm|Vex128|Space0F|VexW0|No_= bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, |Unspeci= fied|BaseIndex } > +kmov, 0x92, None, , D|Modrm|Vex128|Space0F|VexW0|N= o_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32, RegMask } > > -knotw, 0x44, None, CpuAVX512F, Modrm|Vex=3D1|Space0F|VexW=3D1|No_bSuf|No= _wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask } > -kortestw, 0x98, None, CpuAVX512F, Modrm|Vex=3D1|Space0F|VexW=3D1|No_bSuf= |No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask } > +knot, 0x44, None, , Modrm|Vex128|Space0F|VexW0|No_= bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask } > +kortest, 0x98, None, , Modrm|Vex128|Space0F|VexW0|= No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask } > > -kshiftlw, 0x6632, None, CpuAVX512F, Modrm|Vex=3D1|Space0F3A|VexW=3D2|No_= bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegMask, RegMask } > -kshiftrw, 0x6630, None, CpuAVX512F, Modrm|Vex=3D1|Space0F3A|VexW=3D2|No_= bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegMask, RegMask } > +kshiftl, 0x6632, None, , Modrm|Vex128|Space0F3A||N= o_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegMask, RegMask } > +kshiftr, 0x6630, None, , Modrm|Vex128|Space0F3A||N= o_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegMask, RegMask } > > kunpckbw, 0x664B, None, CpuAVX512F, Modrm|Vex=3D2|Space0F|VexVVVV=3D1|Ve= xW=3D1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask= , RegMask } > > @@ -2646,12 +2622,11 @@ vdbpsadbw, 0x6642, None, CpuAVX512BW, Mo > vmovdqu8, 0xF26F, None, CpuAVX512BW, D|Modrm|MaskingMorZ|Space0F|VexW=3D= 1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSu= f|Optimize, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|Reg= ZMM } > vmovdqu16, 0xF26F, None, CpuAVX512BW, D|Modrm|MaskingMorZ|Space0F|VexW= =3D2|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_l= dSuf|Optimize, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|= RegZMM } > > -vpabsb, 0x661C, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F38|VexWIG|Di= sp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {= RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } > +vpabs, 0x661c | , None, CpuAVX512BW, Modrm|Masking=3D3|Space= 0F38|VexWIG|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qS= uf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|Re= gZMM } > vpmaxsb, 0x663C, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F38|VexWIG|V= exVVVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSu= f|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|Reg= ZMM, RegXMM|RegYMM|RegZMM } > vpminsb, 0x6638, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F38|VexWIG|V= exVVVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSu= f|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|Reg= ZMM, RegXMM|RegYMM|RegZMM } > vpshufb, 0x6600, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F38|VexWIG|V= exVVVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSu= f|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|Reg= ZMM, RegXMM|RegYMM|RegZMM } > > -vpabsw, 0x661D, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F38|VexWIG|Di= sp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {= RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } > vpmaddubsw, 0x6604, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F38|VexWI= G|VexVVVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_= qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|= RegZMM, RegXMM|RegYMM|RegZMM } > vpmaxuw, 0x663E, None, CpuAVX512BW, Modrm|Masking=3D3|VexWIG|Space0F38|V= exVVVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSu= f|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|Reg= ZMM, RegXMM|RegYMM|RegZMM } > vpminuw, 0x663A, None, CpuAVX512BW, Modrm|Masking=3D3|VexWIG|Space0F38|V= exVVVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSu= f|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|Reg= ZMM, RegXMM|RegYMM|RegZMM } > @@ -2662,22 +2637,18 @@ vpacksswb, 0x6663, None, CpuAVX512BW, Mo > vpackuswb, 0x6667, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F|VexWIG|V= exVVVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSu= f|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|Reg= ZMM, RegXMM|RegYMM|RegZMM } > vpackusdw, 0x662B, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F38|VexVVV= V=3D1|VexW=3D1|Broadcast|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|= No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Dword|Unspecified|BaseInde= x, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } > > -vpaddb, 0x66FC, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F|VexWIG|VexV= VVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|N= o_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM= , RegXMM|RegYMM|RegZMM } > -vpaddsb, 0x66EC, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F|VexWIG|Vex= VVVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|= No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZM= M, RegXMM|RegYMM|RegZMM } > -vpaddusb, 0x66DC, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F|VexWIG|Ve= xVVVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf= |No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZ= MM, RegXMM|RegYMM|RegZMM } > -vpavgb, 0x66E0, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F|VexWIG|VexV= VVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|N= o_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM= , RegXMM|RegYMM|RegZMM } > +vpadd, 0x66fc | , None, CpuAVX512BW, Modrm|Masking=3D3|Space= 0F|VexWIG|VexVVVV|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf= |No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|Reg= YMM|RegZMM, RegXMM|RegYMM|RegZMM } > +vpadds, 0x66ec | , None, CpuAVX512BW, Modrm|Masking=3D3|Spac= e0F|VexWIG|VexVVVV|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSu= f|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|Re= gYMM|RegZMM, RegXMM|RegYMM|RegZMM } > +vpaddus, 0x66dc | , None, CpuAVX512BW, Modrm|Masking=3D3|Spa= ce0F|VexWIG|VexVVVV|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sS= uf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|R= egYMM|RegZMM, RegXMM|RegYMM|RegZMM } > +vpavg, 0x66e0 | (3 * ), None, CpuAVX512BW, Modrm|Masking=3D3= |Space0F|VexWIG|VexVVVV|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|N= o_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegX= MM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } > vpmaxub, 0x66DE, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F|VexWIG|Vex= VVVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|= No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZM= M, RegXMM|RegYMM|RegZMM } > vpminub, 0x66DA, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F|VexWIG|Vex= VVVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|= No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZM= M, RegXMM|RegYMM|RegZMM } > -vpsubb, 0x66F8, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F|VexWIG|VexV= VVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|N= o_ldSuf|Optimize, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegY= MM|RegZMM, RegXMM|RegYMM|RegZMM } > -vpsubsb, 0x66E8, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F|VexWIG|Vex= VVVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|= No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZM= M, RegXMM|RegYMM|RegZMM } > -vpsubusb, 0x66D8, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F|VexWIG|Ve= xVVVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf= |No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZ= MM, RegXMM|RegYMM|RegZMM } > +vpsub, 0x66f8 | , None, CpuAVX512BW, Modrm|Masking=3D3|Space= 0F|VexWIG|VexVVVV|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf= |No_qSuf|No_ldSuf|Optimize, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, R= egXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } > +vpsubs, 0x66e8 | , None, CpuAVX512BW, Modrm|Masking=3D3|Spac= e0F|VexWIG|VexVVVV|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSu= f|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|Re= gYMM|RegZMM, RegXMM|RegYMM|RegZMM } > +vpsubus, 0x66d8 | , None, CpuAVX512BW, Modrm|Masking=3D3|Spa= ce0F|VexWIG|VexVVVV|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sS= uf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|R= egYMM|RegZMM, RegXMM|RegYMM|RegZMM } > vpunpckhbw, 0x6668, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F|VexWIG|= VexVVVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qS= uf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|Re= gZMM, RegXMM|RegYMM|RegZMM } > vpunpcklbw, 0x6660, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F|VexWIG|= VexVVVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qS= uf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|Re= gZMM, RegXMM|RegYMM|RegZMM } > > -vpaddsw, 0x66ED, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F|VexWIG|Vex= VVVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|= No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZM= M, RegXMM|RegYMM|RegZMM } > -vpaddusw, 0x66DD, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F|VexWIG|Ve= xVVVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf= |No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZ= MM, RegXMM|RegYMM|RegZMM } > -vpaddw, 0x66FD, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F|VexWIG|VexV= VVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|N= o_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM= , RegXMM|RegYMM|RegZMM } > -vpavgw, 0x66E3, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F|VexWIG|VexV= VVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|N= o_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM= , RegXMM|RegYMM|RegZMM } > vpmaxsw, 0x66EE, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F|VexWIG|Vex= VVVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|= No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZM= M, RegXMM|RegYMM|RegZMM } > vpminsw, 0x66EA, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F|VexWIG|Vex= VVVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|= No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZM= M, RegXMM|RegYMM|RegZMM } > vpmulhuw, 0x66E4, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F|VexWIG|Ve= xVVVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf= |No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZ= MM, RegXMM|RegYMM|RegZMM } > @@ -2689,64 +2660,45 @@ vpsraw, 0x6671, 4, CpuAVX512BW, Modrm|Ma > vpsraw, 0x66E1, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F|VexWIG|VexV= VVV|Disp8MemShift=3D4|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|= No_ldSuf, { RegXMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegY= MM|RegZMM } > vpsrlw, 0x6671, 2, CpuAVX512BW, Modrm|Masking=3D3|Space0F|VexWIG|VexVVVV= =3D2|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_l= dSuf, { Imm8, RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|Reg= ZMM } > vpsrlw, 0x66D1, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F|VexWIG|VexV= VVV|Disp8MemShift=3D4|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|= No_ldSuf, { RegXMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegY= MM|RegZMM } > -vpsubsw, 0x66E9, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F|VexWIG|Vex= VVVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|= No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZM= M, RegXMM|RegYMM|RegZMM } > -vpsubusw, 0x66D9, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F|VexWIG|Ve= xVVVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf= |No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZ= MM, RegXMM|RegYMM|RegZMM } > -vpsubw, 0x66F9, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F|VexVVVV=3D1= |VexWIG|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|N= o_ldSuf|Optimize, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegY= MM|RegZMM, RegXMM|RegYMM|RegZMM } > vpunpckhwd, 0x6669, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F|VexWIG|= VexVVVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qS= uf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|Re= gZMM, RegXMM|RegYMM|RegZMM } > vpunpcklwd, 0x6661, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F|VexWIG|= VexVVVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qS= uf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|Re= gZMM, RegXMM|RegYMM|RegZMM } > > vpalignr, 0x660F, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F3A|VexWIG|= VexVVVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qS= uf|No_ldSuf, { Imm8, RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|Reg= YMM|RegZMM, RegXMM|RegYMM|RegZMM } > > -vpblendmb, 0x6666, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F38|VexVVV= V=3D1|VexW=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No= _qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM= |RegZMM, RegXMM|RegYMM|RegZMM } > -vpbroadcastb, 0x6678, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F38|Vex= W0|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Byte|Unspecif= ied|BaseIndex, RegXMM|RegYMM|RegZMM } > -vpbroadcastb, 0x667A, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F38|Vex= W=3D1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32, RegXMM|Reg= YMM|RegZMM } > - > -vpblendmw, 0x6666, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F38|VexVVV= V=3D1|VexW=3D2|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No= _qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM= |RegZMM, RegXMM|RegYMM|RegZMM } > -vpermi2w, 0x6675, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F38|VexVVVV= =3D1|VexW=3D2|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_= qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|= RegZMM, RegXMM|RegYMM|RegZMM } > -vpermt2w, 0x667D, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F38|VexVVVV= =3D1|VexW=3D2|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_= qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|= RegZMM, RegXMM|RegYMM|RegZMM } > -vpermw, 0x668D, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F38|VexVVVV= =3D1|VexW=3D2|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_= qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|= RegZMM, RegXMM|RegYMM|RegZMM } > +vpblendm, 0x6666, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F38|Vex= VVVV=3D1||Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSu= f|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|Re= gYMM|RegZMM, RegXMM|RegYMM|RegZMM } > +vpbroadcast, 0x6678 | , None, CpuAVX512BW, Modrm|Masking=3D3= |Space0F38|VexW0|Disp8MemShift|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_l= dSuf, { RegXMM||Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } > +vpbroadcast, 0x667a | , None, CpuAVX512BW, Modrm|Masking=3D3= |Space0F38|VexW0|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32,= RegXMM|RegYMM|RegZMM } > + > +vpermi2, 0x6675, None, , Modrm|Masking=3D3|Space0F38|VexV= VVV||Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_= qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|= RegZMM, RegXMM|RegYMM|RegZMM } > +vpermt2, 0x667d, None, , Modrm|Masking=3D3|Space0F38|VexV= VVV||Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_= qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|= RegZMM, RegXMM|RegYMM|RegZMM } > +vperm, 0x668d, None, , Modrm|Masking=3D3|Space0F38|VexVVV= V||Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qS= uf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|Re= gZMM, RegXMM|RegYMM|RegZMM } > vpsllvw, 0x6612, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F38|VexVVVV= =3D1|VexW=3D2|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_= qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|= RegZMM, RegXMM|RegYMM|RegZMM } > vpsravw, 0x6611, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F38|VexVVVV= =3D1|VexW=3D2|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_= qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|= RegZMM, RegXMM|RegYMM|RegZMM } > vpsrlvw, 0x6610, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F38|VexVVVV= =3D1|VexW=3D2|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_= qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|= RegZMM, RegXMM|RegYMM|RegZMM } > > -vpbroadcastw, 0x6679, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F38|Vex= W0|Disp8MemShift=3D1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Re= gXMM|Word|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } > -vpbroadcastw, 0x667B, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F38|Vex= W=3D1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32, RegXMM|Reg= YMM|RegZMM } > - > -vpcmpeqb, 0x6674, None, CpuAVX512BW, Modrm|Masking=3D2|Space0F|VexWIG|Ve= xVVVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf= |No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZ= MM, RegMask } > -vpcmpgtb, 0x6664, None, CpuAVX512BW, Modrm|Masking=3D2|Space0F|VexWIG|Ve= xVVVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf= |No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZ= MM, RegMask } > -vpcmpb, 0x663F, None, CpuAVX512BW, Modrm|Masking=3D2|Space0F3A|VexVVVV= =3D1|VexW=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_= qSuf|No_ldSuf, { Imm8, RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|R= egYMM|RegZMM, RegMask } > -vpcmpb, 0x663F, , CpuAVX512BW, Modrm|Masking=3D2= |Space0F3A|VexVVVV|VexW0|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|= No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|RegYMM|RegZMM|Unspecified|BaseInd= ex, RegXMM|RegYMM|RegZMM, RegMask } > -vpcmpub, 0x663E, None, CpuAVX512BW, Modrm|Masking=3D2|Space0F3A|VexVVVV= =3D1|VexW=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_= qSuf|No_ldSuf, { Imm8, RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|R= egYMM|RegZMM, RegMask } > -vpcmpub, 0x663E, , CpuAVX512BW, Modrm|Masking=3D= 2|Space0F3A|VexVVVV|VexW0|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf= |No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIn= dex, RegXMM|RegYMM|RegZMM, RegMask } > - > -vpcmpeqw, 0x6675, None, CpuAVX512BW, Modrm|Masking=3D2|Space0F|VexWIG|Ve= xVVVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf= |No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZ= MM, RegMask } > -vpcmpgtw, 0x6665, None, CpuAVX512BW, Modrm|Masking=3D2|Space0F|VexWIG|Ve= xVVVV=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf= |No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZ= MM, RegMask } > -vpcmpw, 0x663F, None, CpuAVX512BW, Modrm|Masking=3D2|Space0F3A|VexVVVV= =3D1|VexW=3D2|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_= qSuf|No_ldSuf, { Imm8, RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|R= egYMM|RegZMM, RegMask } > -vpcmpw, 0x663F, , CpuAVX512BW, Modrm|Masking=3D2= |Space0F3A|VexVVVV|VexW1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|= No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|RegYMM|RegZMM|Unspecified|BaseInd= ex, RegXMM|RegYMM|RegZMM, RegMask } > -vpcmpuw, 0x663E, None, CpuAVX512BW, Modrm|Masking=3D2|Space0F3A|VexVVVV= =3D1|VexW=3D2|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_= qSuf|No_ldSuf, { Imm8, RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|R= egYMM|RegZMM, RegMask } > -vpcmpuw, 0x663E, , CpuAVX512BW, Modrm|Masking=3D= 2|Space0F3A|VexVVVV|VexW1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf= |No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIn= dex, RegXMM|RegYMM|RegZMM, RegMask } > +vpcmpeq, 0x6674 | , None, CpuAVX512BW, Modrm|Masking=3D2|Spa= ce0F|VexWIG|VexVVVV|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sS= uf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|R= egYMM|RegZMM, RegMask } > +vpcmpgt, 0x6664 | , None, CpuAVX512BW, Modrm|Masking=3D2|Spa= ce0F|VexWIG|VexVVVV|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sS= uf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|R= egYMM|RegZMM, RegMask } > +vpcmp, 0x663f, None, CpuAVX512BW, Modrm|Masking=3D2|Space0F3A|VexVVV= V||Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qS= uf|No_ldSuf, { Imm8, RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|Reg= YMM|RegZMM, RegMask } > +vpcmpu, 0x663e, None, CpuAVX512BW, Modrm|Masking=3D2|Space0F3A|VexVV= VV||Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_q= Suf|No_ldSuf, { Imm8, RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|Re= gYMM|RegZMM, RegMask } > +vpcmp, 0x663f, , CpuAVX512BW, Modrm|Masking= =3D2|Space0F3A|VexVVVV||Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|= No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|RegYMM|RegZMM|Unspecified= |BaseIndex, RegXMM|RegYMM|RegZMM, RegMask } > +vpcmpu, 0x663e, , CpuAVX512BW, Modrm|Masking= =3D2|Space0F3A|VexVVVV||Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|= No_lSuf|No_sSuf|No_qSuf|No_ldSuf|ImmExt, { RegXMM|RegYMM|RegZMM|Unspecified= |BaseIndex, RegXMM|RegYMM|RegZMM, RegMask } > > vpslldq, 0x6673, 7, CpuAVX512BW, Modrm|Space0F|VexWIG|VexVVVV=3D2|Disp8S= hiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm= 8, RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } > vpsrldq, 0x6673, 3, CpuAVX512BW, Modrm|Space0F|VexWIG|VexVVVV=3D2|Disp8S= hiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm= 8, RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } > > vpextrw, 0x66C5, None, CpuAVX512BW, Load|Modrm|EVex128|Space0F|VexWIG|No= _bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, Reg32|Reg64= } > -vpextrw, 0x6615, None, CpuAVX512BW, RegMem|EVex128|Space0F3A|VexWIG|No_b= Suf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, Reg32|Reg64 } > -vpextrw, 0x6615, None, CpuAVX512BW, Modrm|EVex128|Space0F3A|VexWIG|Disp8= MemShift=3D1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegX= MM, Word|Unspecified|BaseIndex } > +vpextr, 0x6614 | , None, CpuAVX512BW, RegMem|EVex128|Space0F= 3A|VexWIG|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM,= Reg32|Reg64 } > +vpextr, 0x6614 | , None, CpuAVX512BW, Modrm|EVex128|Space0F3= A|VexWIG|Disp8MemShift|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { = Imm8, RegXMM, |Unspecified|BaseIndex } > + > vpinsrw, 0x66C4, None, CpuAVX512BW, Modrm|EVex128|Space0F|VexWIG|VexVVVV= =3D1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Reg32|Reg64,= RegXMM, RegXMM } > vpinsrw, 0x66C4, None, CpuAVX512BW, Modrm|EVex128|Space0F|VexWIG|VexVVVV= |Disp8MemShift=3D1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8= , Word|Unspecified|BaseIndex, RegXMM, RegXMM } > - > -vpextrb, 0x6614, None, CpuAVX512BW, RegMem|EVex128|Space0F3A|VexWIG|No_b= Suf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, Reg32|Reg64 } > -vpextrb, 0x6614, None, CpuAVX512BW, Modrm|EVex128|Space0F3A|VexWIG|No_bS= uf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegXMM, Byte|Unspecifi= ed|BaseIndex } > vpinsrb, 0x6620, None, CpuAVX512BW, Modrm|EVex128|Space0F3A|VexWIG|VexVV= VV=3D1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Reg32|Reg6= 4, RegXMM, RegXMM } > vpinsrb, 0x6620, None, CpuAVX512BW, Modrm|EVex128|Space0F3A|VexWIG|VexVV= VV|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Byte|Unspecifi= ed|BaseIndex, RegXMM, RegXMM } > > vpmaddwd, 0x66F5, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F|VexVVVV= =3D1|VexWIG|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qS= uf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|Re= gZMM, RegXMM|RegYMM|RegZMM } > > -vpmovb2m, 0xF329, None, CpuAVX512BW, Modrm|EVex=3D5|Space0F38|VexW=3D1|N= o_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, Re= gMask } > -vpmovw2m, 0xF329, None, CpuAVX512BW, Modrm|EVex=3D5|Space0F38|VexW=3D2|N= o_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM, Re= gMask } > - > -vpmovm2b, 0xF328, None, CpuAVX512BW, Modrm|EVex=3D5|Space0F38|VexW=3D1|N= o_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegXMM|RegYMM|R= egZMM } > -vpmovm2w, 0xF328, None, CpuAVX512BW, Modrm|EVex=3D5|Space0F38|VexW=3D2|N= o_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegXMM|RegYMM|R= egZMM } > +vpmov2m, 0xf329, None, CpuAVX512BW, Modrm|EVexDYN|Space0F38||No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM,= RegMask } > +vpmovm2, 0xf328, None, CpuAVX512BW, Modrm|EVexDYN|Space0F38||No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegXMM|RegYM= M|RegZMM } > > vpmovswb, 0xF320, None, CpuAVX512BW, Modrm|EVex=3D1|MaskingMorZ|Space0F3= 8|VexW=3D1|Disp8MemShift=3D5|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldS= uf, { RegZMM, RegYMM|Unspecified|BaseIndex } > vpmovswb, 0xF320, None, CpuAVX512BW|CpuAVX512VL, Modrm|EVex=3D2|MaskingM= orZ|Space0F38|VexW0|Disp8MemShift=3D3|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qS= uf|No_ldSuf, { RegXMM, RegXMM|Qword|Unspecified|BaseIndex } > @@ -2772,34 +2724,15 @@ vpsadbw, 0x66F6, None, CpuAVX512BW, Modr > vpshufhw, 0xF370, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F|VexWIG|Di= sp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {= Imm8, RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } > vpshuflw, 0xF270, None, CpuAVX512BW, Modrm|Masking=3D3|Space0F|VexWIG|Di= sp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, {= Imm8, RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM } > > -vptestmb, 0x6626, None, CpuAVX512BW, Modrm|Masking=3D2|Space0F38|VexVVVV= =3D1|VexW=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_= qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|= RegZMM, RegMask } > -vptestmw, 0x6626, None, CpuAVX512BW, Modrm|Masking=3D2|Space0F38|VexVVVV= =3D1|VexW=3D2|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_= qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|= RegZMM, RegMask } > - > -vptestnmb, 0xF326, None, CpuAVX512BW, Modrm|Masking=3D2|Space0F38|VexVVV= V=3D1|VexW=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No= _qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM= |RegZMM, RegMask } > -vptestnmw, 0xF326, None, CpuAVX512BW, Modrm|Masking=3D2|Space0F38|VexVVV= V=3D1|VexW=3D2|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No= _qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM= |RegZMM, RegMask } > +vptestm, 0x6626, None, CpuAVX512BW, Modrm|Masking=3D2|Space0F38|VexV= VVV||Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_= qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|= RegZMM, RegMask } > +vptestnm, 0xf326, None, CpuAVX512BW, Modrm|Masking=3D2|Space0F38|Vex= VVVV||Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No= _qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM= |RegZMM, RegMask } > > // AVX512BW instructions end. > > // AVX512DQ instructions. > > -kaddb, 0x664A, None, CpuAVX512DQ, Modrm|Vex=3D2|Space0F|VexVVVV=3D1|VexW= =3D1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, = RegMask } > -kandb, 0x6641, None, CpuAVX512DQ, Modrm|Vex=3D2|Space0F|VexVVVV=3D1|VexW= =3D1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, = RegMask } > -kandnb, 0x6642, None, CpuAVX512DQ, Modrm|Vex=3D2|Space0F|VexVVVV=3D1|Vex= W=3D1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask,= RegMask } > -kmovb, 0x6690, None, CpuAVX512DQ, Modrm|Vex=3D1|Space0F|VexW0|No_bSuf|No= _wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask|Byte|Unspecified|BaseInde= x, RegMask } > -kmovb, 0x6691, None, CpuAVX512DQ, Modrm|Vex=3D1|Space0F|VexW0|No_bSuf|No= _wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, Byte|Unspecified|BaseInd= ex } > -kmovb, 0x6692, None, CpuAVX512DQ, D|Modrm|Vex=3D1|Space0F|VexW=3D1|No_bS= uf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32, RegMask } > -knotb, 0x6644, None, CpuAVX512DQ, Modrm|Vex=3D1|Space0F|VexW=3D1|No_bSuf= |No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask } > -korb, 0x6645, None, CpuAVX512DQ, Modrm|Vex=3D2|Space0F|VexVVVV=3D1|VexW= =3D1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, = RegMask } > -kortestb, 0x6698, None, CpuAVX512DQ, Modrm|Vex=3D1|Space0F|VexW=3D1|No_b= Suf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask } > -ktestb, 0x6699, None, CpuAVX512DQ, Modrm|Vex=3D1|Space0F|VexW=3D1|No_bSu= f|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask } > -kxnorb, 0x6646, None, CpuAVX512DQ, Modrm|Vex=3D2|Space0F|VexVVVV=3D1|Vex= W=3D1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask,= RegMask } > -kxorb, 0x6647, None, CpuAVX512DQ, Modrm|Vex=3D2|Space0F|VexVVVV=3D1|VexW= =3D1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, = RegMask } > - > -kaddw, 0x4A, None, CpuAVX512DQ, Modrm|Vex=3D2|Space0F|VexVVVV=3D1|VexW= =3D1|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask, = RegMask } > -ktestw, 0x99, None, CpuAVX512DQ, Modrm|Vex=3D1|Space0F|VexW=3D1|No_bSuf|= No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask } > - > -kshiftlb, 0x6632, None, CpuAVX512DQ, Modrm|Vex=3D1|Space0F3A|VexW=3D1|No= _bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegMask, RegMask } > -kshiftrb, 0x6630, None, CpuAVX512DQ, Modrm|Vex=3D1|Space0F3A|VexW=3D1|No= _bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, RegMask, RegMask } > +kadd, 0x4A, None, CpuAVX512DQ, Modrm|Vex256|Space0F|VexVVVV= |VexW0|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask= , RegMask } > +ktest, 0x99, None, CpuAVX512DQ, Modrm|Vex128|Space0F|VexW0|= No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegMask, RegMask } > > vandnp, 0x55, None, CpuAVX512DQ, Modrm|Masking=3D3|Space0F|= VexVVVV||Broadcast|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lS= uf|No_sSuf|No_qSuf|No_ldSuf|Optimize, { RegXMM|RegYMM|RegZMM||Unsp= ecified|BaseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } > vandp, 0x54, None, CpuAVX512DQ, Modrm|Masking=3D3|Space0F|V= exVVVV||Broadcast|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSu= f|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM||Unspecified|Ba= seIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } > @@ -2898,9 +2831,6 @@ vpmadd52luq, 0x66B4, None, CpuAVX512IFMA > // AVX512VBMI instructions > > vpmultishiftqb, 0x6683, None, CpuAVX512VBMI, Modrm|Masking=3D3|Space0F38= |VexVVVV=3D1|VexW=3D2|Broadcast|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|N= o_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Qword|Unspecified|B= aseIndex, RegXMM|RegYMM|RegZMM, RegXMM|RegYMM|RegZMM } > -vpermb, 0x668D, None, CpuAVX512VBMI, Modrm|Masking=3D3|Space0F38|VexVVVV= =3D1|VexW=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_= qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|= RegZMM, RegXMM|RegYMM|RegZMM } > -vpermi2b, 0x6675, None, CpuAVX512VBMI, Modrm|Masking=3D3|Space0F38|VexVV= VV=3D1|VexW=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|N= o_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYM= M|RegZMM, RegXMM|RegYMM|RegZMM } > -vpermt2b, 0x667D, None, CpuAVX512VBMI, Modrm|Masking=3D3|Space0F38|VexVV= VV=3D1|VexW=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|N= o_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYM= M|RegZMM, RegXMM|RegYMM|RegZMM } > > // AVX512VBMI instructions end > > @@ -2970,8 +2900,7 @@ vpdpwssds, 0x6653, None, CpuAVX512_VNNI, > > // AVX512_BITALG instructions > > -vpopcntb, 0x6654, None, CpuAVX512_BITALG, Modrm|Masking=3D3|Space0F38|Ve= xW=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No= _ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM = } > -vpopcntw, 0x6654, None, CpuAVX512_BITALG, Modrm|Masking=3D3|Space0F38|Ve= xW=3D2|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No= _ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|RegZMM = } > +vpopcnt, 0x6654, None, CpuAVX512_BITALG, Modrm|Masking=3D3|Space0F38= ||Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSu= f|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXMM|RegYMM|Reg= ZMM } > > vpshufbitqmb, 0x668f, None, CpuAVX512_BITALG, Modrm|Masking=3D2|Space0F3= 8|VexVVVV=3D1|VexW=3D1|Disp8ShiftVL|CheckRegSize|No_bSuf|No_wSuf|No_lSuf|No= _sSuf|No_qSuf|No_ldSuf, { RegXMM|RegYMM|RegZMM|Unspecified|BaseIndex, RegXM= M|RegYMM|RegZMM, RegMask } > > OK. Thanks. --=20 H.J.