* Copyright (c) 2011-2017 Google, Inc. All rights reserved.
* Copyright (c) 2008 VMware, Inc. All rights reserved.
* **********************************************************/
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* * Neither the name of VMware, Inc. nor the names of its contributors may be
* used to endorse or promote products derived from this software without
* specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL VMWARE, INC. OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
* DAMAGE.
*/
OPCODE(insertq_imm, insertq, insertq_imm, 0, REGARG(XMM0), REGARG(XMM1), IMMARG(OPSZ_1),
IMMARG(OPSZ_1))
XOPCODE(add_sll, lea, add_sll, 0, REGARG(XAX), REGARG(XCX), REGARG(XDX), 3)
OPCODE(vpblendvb, vpblendvb, vpblendvb, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
REGARG(XMM3))
OPCODE(vblendvps, vblendvps, vblendvps, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
REGARG(XMM3))
OPCODE(vblendvpd, vblendvpd, vblendvpd, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
REGARG(XMM3))
OPCODE(vcmpps, vcmpps, vcmpps, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
IMMARG(OPSZ_1))
OPCODE(vcmpss, vcmpss, vcmpss, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_4),
IMMARG(OPSZ_1))
OPCODE(vcmppd, vcmppd, vcmppd, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
IMMARG(OPSZ_1))
OPCODE(vcmpsd, vcmpsd, vcmpsd, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_8),
IMMARG(OPSZ_1))
OPCODE(vpinsrw_r, vpinsrw, vpinsrw, 0, REGARG(XMM0), REGARG_PARTIAL(XMM1, OPSZ_14),
REGARG(EAX), IMMARG(OPSZ_1))
OPCODE(vpinsrw_m, vpinsrw, vpinsrw, 0, REGARG(XMM0), REGARG_PARTIAL(XMM1, OPSZ_14),
MEMARG(OPSZ_2), IMMARG(OPSZ_1))
OPCODE(vshufps, vshufps, vshufps, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
IMMARG(OPSZ_1))
OPCODE(vshufpd, vshufpd, vshufpd, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
IMMARG(OPSZ_1))
OPCODE(vpalignr_r, vpalignr, vpalignr, 0, REGARG(XMM0), REGARG(XMM1), REGARG(XMM2),
IMMARG(OPSZ_1))
OPCODE(vpalignr_m, vpalignr, vpalignr, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
IMMARG(OPSZ_1))
OPCODE(vblendps, vblendps, vblendps, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
IMMARG(OPSZ_1))
OPCODE(vblendpd, vblendpd, vblendpd, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
IMMARG(OPSZ_1))
OPCODE(vpblendw, vpblendw, vpblendw, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
IMMARG(OPSZ_1))
OPCODE(vpinsrb_r, vpinsrb, vpinsrb, 0, REGARG(XMM0), REGARG_PARTIAL(XMM1, OPSZ_15),
REGARG(EAX), IMMARG(OPSZ_1))
OPCODE(vpinsrb_m, vpinsrb, vpinsrb, 0, REGARG(XMM0), REGARG_PARTIAL(XMM1, OPSZ_15),
MEMARG(OPSZ_1), IMMARG(OPSZ_1))
OPCODE(vinsertps, vinsertps, vinsertps, 0, REGARG(XMM0), IMMARG(OPSZ_1), REGARG(XMM1),
REGARG_PARTIAL(XMM2, OPSZ_4))
OPCODE(vpinsrd_r, vpinsrd, vpinsrd, 0, REGARG(XMM0), REGARG_PARTIAL(XMM1, OPSZ_12),
REGARG(EAX), IMMARG(OPSZ_1))
OPCODE(vpinsrd_m, vpinsrd, vpinsrd, 0, REGARG(XMM0), REGARG_PARTIAL(XMM1, OPSZ_12),
MEMARG(OPSZ_4), IMMARG(OPSZ_1))
OPCODE(vpinsrq_r, vpinsrq, vpinsrq, X64_ONLY, REGARG(XMM0), REGARG_PARTIAL(XMM1, OPSZ_8),
REGARG(RAX), IMMARG(OPSZ_1))
OPCODE(vpinsrq_m, vpinsrq, vpinsrq, X64_ONLY, REGARG(XMM0), REGARG_PARTIAL(XMM1, OPSZ_8),
MEMARG(OPSZ_8), IMMARG(OPSZ_1))
OPCODE(vdpps, vdpps, vdpps, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
IMMARG(OPSZ_1))
OPCODE(vdppd, vdppd, vdppd, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
IMMARG(OPSZ_1))
OPCODE(vmpsadbw, vmpsadbw, vmpsadbw, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
IMMARG(OPSZ_1))
OPCODE(vpclmulqdq, vpclmulqdq, vpclmulqdq, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
IMMARG(OPSZ_1))
OPCODE(vroundss, vroundss, vroundss, 0, REGARG(XMM0), REGARG_PARTIAL(XMM1, OPSZ_12),
MEMARG(OPSZ_4), IMMARG(OPSZ_1))
OPCODE(vroundsd, vroundsd, vroundsd, 0, REGARG(XMM0), REGARG_PARTIAL(XMM1, OPSZ_8),
MEMARG(OPSZ_8), IMMARG(OPSZ_1))
OPCODE(vcmpps_256, vcmpps, vcmpps, 0, REGARG(YMM0), REGARG(YMM1), MEMARG(OPSZ_32),
IMMARG(OPSZ_1))
OPCODE(vcmppd_256, vcmppd, vcmppd, 0, REGARG(YMM0), REGARG(YMM1), MEMARG(OPSZ_32),
IMMARG(OPSZ_1))
OPCODE(vshufps_256, vshufps, vshufps, 0, REGARG(YMM0), REGARG(YMM1), MEMARG(OPSZ_32),
IMMARG(OPSZ_1))
OPCODE(vshufpd_256, vshufpd, vshufpd, 0, REGARG(YMM0), REGARG(YMM1), MEMARG(OPSZ_32),
IMMARG(OPSZ_1))
OPCODE(vblendvps_256, vblendvps, vblendvps, 0, REGARG(YMM0), REGARG(YMM1),
MEMARG(OPSZ_32), REGARG(YMM3))
OPCODE(vblendvpd_256, vblendvpd, vblendvpd, 0, REGARG(YMM0), REGARG(YMM1),
MEMARG(OPSZ_32), REGARG(YMM3))
OPCODE(vblendps_256, vblendps, vblendps, 0, REGARG(YMM0), REGARG(YMM1), MEMARG(OPSZ_32),
IMMARG(OPSZ_1))
OPCODE(vblendpd_256, vblendpd, vblendpd, 0, REGARG(YMM0), REGARG(YMM1), MEMARG(OPSZ_32),
IMMARG(OPSZ_1))
OPCODE(vdpps_256, vdpps, vdpps, 0, REGARG(YMM0), REGARG(YMM1), MEMARG(OPSZ_32),
IMMARG(OPSZ_1))
OPCODE(vperm2f128_256, vperm2f128, vperm2f128, 0, REGARG(YMM0), REGARG(YMM1),
MEMARG(OPSZ_32), IMMARG(OPSZ_1))
OPCODE(vinsertf128_m128, vinsertf128, vinsertf128, 0, REGARG(YMM0), REGARG(YMM1),
MEMARG(OPSZ_16), IMMARG(OPSZ_1))
OPCODE(vinsertf128_r128, vinsertf128, vinsertf128, 0, REGARG(YMM0), REGARG(YMM1),
REGARG(XMM2), IMMARG(OPSZ_1))
OPCODE(vfmaddsubps_a, vfmaddsubps, vfmaddsubps, 0, REGARG(XMM0), REGARG(XMM1),
MEMARG(OPSZ_16), REGARG(XMM3))
OPCODE(vfmaddsubps_b, vfmaddsubps, vfmaddsubps, 0, REGARG(XMM0), REGARG(XMM1),
REGARG(XMM3), MEMARG(OPSZ_16))
OPCODE(vfmaddsubps_a_256, vfmaddsubps, vfmaddsubps, 0, REGARG(YMM0), REGARG(YMM1),
MEMARG(OPSZ_32), REGARG(YMM3))
OPCODE(vfmaddsubps_b_256, vfmaddsubps, vfmaddsubps, 0, REGARG(YMM0), REGARG(YMM1),
REGARG(YMM3), MEMARG(OPSZ_32))
OPCODE(vfmaddsubpd_a, vfmaddsubpd, vfmaddsubpd, 0, REGARG(XMM0), REGARG(XMM1),
MEMARG(OPSZ_16), REGARG(XMM3))
OPCODE(vfmaddsubpd_b, vfmaddsubpd, vfmaddsubpd, 0, REGARG(XMM0), REGARG(XMM1),
REGARG(XMM3), MEMARG(OPSZ_16))
OPCODE(vfmaddsubpd_a_256, vfmaddsubpd, vfmaddsubpd, 0, REGARG(YMM0), REGARG(YMM1),
MEMARG(OPSZ_32), REGARG(YMM3))
OPCODE(vfmaddsubpd_b_256, vfmaddsubpd, vfmaddsubpd, 0, REGARG(YMM0), REGARG(YMM1),
REGARG(YMM3), MEMARG(OPSZ_32))
OPCODE(vfmsubaddps_a, vfmsubaddps, vfmsubaddps, 0, REGARG(XMM0), REGARG(XMM1),
MEMARG(OPSZ_16), REGARG(XMM3))
OPCODE(vfmsubaddps_b, vfmsubaddps, vfmsubaddps, 0, REGARG(XMM0), REGARG(XMM1),
REGARG(XMM3), MEMARG(OPSZ_16))
OPCODE(vfmsubaddps_a_256, vfmsubaddps, vfmsubaddps, 0, REGARG(YMM0), REGARG(YMM1),
MEMARG(OPSZ_32), REGARG(YMM3))
OPCODE(vfmsubaddps_b_256, vfmsubaddps, vfmsubaddps, 0, REGARG(YMM0), REGARG(YMM1),
REGARG(YMM3), MEMARG(OPSZ_32))
OPCODE(vfmsubaddpd_a, vfmsubaddpd, vfmsubaddpd, 0, REGARG(XMM0), REGARG(XMM1),
MEMARG(OPSZ_16), REGARG(XMM3))
OPCODE(vfmsubaddpd_b, vfmsubaddpd, vfmsubaddpd, 0, REGARG(XMM0), REGARG(XMM1),
REGARG(XMM3), MEMARG(OPSZ_16))
OPCODE(vfmsubaddpd_a_256, vfmsubaddpd, vfmsubaddpd, 0, REGARG(YMM0), REGARG(YMM1),
MEMARG(OPSZ_32), REGARG(YMM3))
OPCODE(vfmsubaddpd_b_256, vfmsubaddpd, vfmsubaddpd, 0, REGARG(YMM0), REGARG(YMM1),
REGARG(YMM3), MEMARG(OPSZ_32))
OPCODE(vfmaddps_a, vfmaddps, vfmaddps, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
REGARG(XMM3))
OPCODE(vfmaddps_b, vfmaddps, vfmaddps, 0, REGARG(XMM0), REGARG(XMM1), REGARG(XMM3),
MEMARG(OPSZ_16))
OPCODE(vfmaddpd_a, vfmaddpd, vfmaddpd, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
REGARG(XMM3))
OPCODE(vfmaddpd_b, vfmaddpd, vfmaddpd, 0, REGARG(XMM0), REGARG(XMM1), REGARG(XMM3),
MEMARG(OPSZ_16))
OPCODE(vfmaddss_a, vfmaddss, vfmaddss, 0, REGARG(XMM0), REGARG_PARTIAL(XMM1, OPSZ_4),
MEMARG(OPSZ_4), REGARG_PARTIAL(XMM3, OPSZ_4))
OPCODE(vfmaddss_b, vfmaddss, vfmaddss, 0, REGARG(XMM0), REGARG_PARTIAL(XMM1, OPSZ_4),
REGARG_PARTIAL(XMM3, OPSZ_4), MEMARG(OPSZ_4))
OPCODE(vfmaddsd_a, vfmaddsd, vfmaddsd, 0, REGARG(XMM0), REGARG_PARTIAL(XMM1, OPSZ_8),
MEMARG(OPSZ_8), REGARG_PARTIAL(XMM3, OPSZ_8))
OPCODE(vfmaddsd_b, vfmaddsd, vfmaddsd, 0, REGARG(XMM0), REGARG_PARTIAL(XMM1, OPSZ_8),
REGARG_PARTIAL(XMM3, OPSZ_8), MEMARG(OPSZ_8))
OPCODE(vfmsubps_a, vfmsubps, vfmsubps, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
REGARG(XMM3))
OPCODE(vfmsubps_b, vfmsubps, vfmsubps, 0, REGARG(XMM0), REGARG(XMM1), REGARG(XMM3),
MEMARG(OPSZ_16))
OPCODE(vfmsubpd_a, vfmsubpd, vfmsubpd, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
REGARG(XMM3))
OPCODE(vfmsubpd_b, vfmsubpd, vfmsubpd, 0, REGARG(XMM0), REGARG(XMM1), REGARG(XMM3),
MEMARG(OPSZ_16))
OPCODE(vfmsubss_a, vfmsubss, vfmsubss, 0, REGARG(XMM0), REGARG_PARTIAL(XMM1, OPSZ_4),
MEMARG(OPSZ_4), REGARG_PARTIAL(XMM3, OPSZ_4))
OPCODE(vfmsubss_b, vfmsubss, vfmsubss, 0, REGARG(XMM0), REGARG_PARTIAL(XMM1, OPSZ_4),
REGARG_PARTIAL(XMM3, OPSZ_4), MEMARG(OPSZ_4))
OPCODE(vfmsubsd_a, vfmsubsd, vfmsubsd, 0, REGARG(XMM0), REGARG_PARTIAL(XMM1, OPSZ_8),
MEMARG(OPSZ_8), REGARG_PARTIAL(XMM3, OPSZ_8))
OPCODE(vfmsubsd_b, vfmsubsd, vfmsubsd, 0, REGARG(XMM0), REGARG_PARTIAL(XMM1, OPSZ_8),
REGARG_PARTIAL(XMM3, OPSZ_8), MEMARG(OPSZ_8))
OPCODE(vfnmaddps_a, vfnmaddps, vfnmaddps, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
REGARG(XMM3))
OPCODE(vfnmaddps_b, vfnmaddps, vfnmaddps, 0, REGARG(XMM0), REGARG(XMM1), REGARG(XMM3),
MEMARG(OPSZ_16))
OPCODE(vfnmaddpd_a, vfnmaddpd, vfnmaddpd, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
REGARG(XMM3))
OPCODE(vfnmaddpd_b, vfnmaddpd, vfnmaddpd, 0, REGARG(XMM0), REGARG(XMM1), REGARG(XMM3),
MEMARG(OPSZ_16))
OPCODE(vfnmaddss_a, vfnmaddss, vfnmaddss, 0, REGARG(XMM0), REGARG_PARTIAL(XMM1, OPSZ_4),
MEMARG(OPSZ_4), REGARG_PARTIAL(XMM3, OPSZ_4))
OPCODE(vfnmaddss_b, vfnmaddss, vfnmaddss, 0, REGARG(XMM0), REGARG_PARTIAL(XMM1, OPSZ_4),
REGARG_PARTIAL(XMM3, OPSZ_4), MEMARG(OPSZ_4))
OPCODE(vfnmaddsd_a, vfnmaddsd, vfnmaddsd, 0, REGARG(XMM0), REGARG_PARTIAL(XMM1, OPSZ_8),
MEMARG(OPSZ_8), REGARG_PARTIAL(XMM3, OPSZ_8))
OPCODE(vfnmaddsd_b, vfnmaddsd, vfnmaddsd, 0, REGARG(XMM0), REGARG_PARTIAL(XMM1, OPSZ_8),
REGARG_PARTIAL(XMM3, OPSZ_8), MEMARG(OPSZ_8))
OPCODE(vfnmsubps_a, vfnmsubps, vfnmsubps, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
REGARG(XMM3))
OPCODE(vfnmsubps_b, vfnmsubps, vfnmsubps, 0, REGARG(XMM0), REGARG(XMM1), REGARG(XMM3),
MEMARG(OPSZ_16))
OPCODE(vfnmsubpd_a, vfnmsubpd, vfnmsubpd, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
REGARG(XMM3))
OPCODE(vfnmsubpd_b, vfnmsubpd, vfnmsubpd, 0, REGARG(XMM0), REGARG(XMM1), REGARG(XMM3),
MEMARG(OPSZ_16))
OPCODE(vfnmsubss_a, vfnmsubss, vfnmsubss, 0, REGARG(XMM0), REGARG_PARTIAL(XMM1, OPSZ_4),
MEMARG(OPSZ_4), REGARG_PARTIAL(XMM3, OPSZ_4))
OPCODE(vfnmsubss_b, vfnmsubss, vfnmsubss, 0, REGARG(XMM0), REGARG_PARTIAL(XMM1, OPSZ_4),
REGARG_PARTIAL(XMM3, OPSZ_4), MEMARG(OPSZ_4))
OPCODE(vfnmsubsd_a, vfnmsubsd, vfnmsubsd, 0, REGARG(XMM0), REGARG_PARTIAL(XMM1, OPSZ_8),
MEMARG(OPSZ_8), REGARG_PARTIAL(XMM3, OPSZ_8))
OPCODE(vfnmsubsd_b, vfnmsubsd, vfnmsubsd, 0, REGARG(XMM0), REGARG_PARTIAL(XMM1, OPSZ_8),
REGARG_PARTIAL(XMM3, OPSZ_8), MEMARG(OPSZ_8))
OPCODE(vpmacssww, vpmacssww, vpmacssww, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
REGARG(XMM3))
OPCODE(vpmacsswd, vpmacsswd, vpmacsswd, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
REGARG(XMM3))
OPCODE(vpmacssdql, vpmacssdql, vpmacssdql, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
REGARG(XMM3))
OPCODE(vpmacssdd, vpmacssdd, vpmacssdd, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
REGARG(XMM3))
OPCODE(vpmacssdqh, vpmacssdqh, vpmacssdqh, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
REGARG(XMM3))
OPCODE(vpmacsww, vpmacsww, vpmacsww, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
REGARG(XMM3))
OPCODE(vpmacswd, vpmacswd, vpmacswd, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
REGARG(XMM3))
OPCODE(vpmacsdql, vpmacsdql, vpmacsdql, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
REGARG(XMM3))
OPCODE(vpmacsdd, vpmacsdd, vpmacsdd, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
REGARG(XMM3))
OPCODE(vpmacsdqh, vpmacsdqh, vpmacsdqh, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
REGARG(XMM3))
OPCODE(vpmadcsswd, vpmadcsswd, vpmadcsswd, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
REGARG(XMM3))
OPCODE(vpmadcswd, vpmadcswd, vpmadcswd, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
REGARG(XMM3))
OPCODE(vpperm_a, vpperm, vpperm, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
REGARG(XMM3))
OPCODE(vpperm_b, vpperm, vpperm, 0, REGARG(XMM0), REGARG(XMM1), REGARG(XMM3),
MEMARG(OPSZ_16))
OPCODE(vpcmov_a, vpcmov, vpcmov, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
REGARG(XMM3))
OPCODE(vpcmov_b, vpcmov, vpcmov, 0, REGARG(XMM0), REGARG(XMM1), REGARG(XMM3),
MEMARG(OPSZ_16))
OPCODE(vpcmov_a_256, vpcmov, vpcmov, 0, REGARG(YMM0), REGARG(YMM1), MEMARG(OPSZ_32),
REGARG(YMM3))
OPCODE(vpcmov_b_256, vpcmov, vpcmov, 0, REGARG(YMM0), REGARG(YMM1), REGARG(YMM3),
MEMARG(OPSZ_32))
OPCODE(vpermil2pd_a, vpermil2pd, vpermil2pd, 0, REGARG(XMM0), REGARG(XMM1),
MEMARG(OPSZ_16), REGARG(XMM3))
OPCODE(vpermil2pd_b, vpermil2pd, vpermil2pd, 0, REGARG(XMM0), REGARG(XMM1), REGARG(XMM3),
MEMARG(OPSZ_16))
OPCODE(vpermil2pd_a_256, vpermil2pd, vpermil2pd, 0, REGARG(YMM0), REGARG(YMM1),
MEMARG(OPSZ_32), REGARG(YMM3))
OPCODE(vpermil2pd_b_256, vpermil2pd, vpermil2pd, 0, REGARG(YMM0), REGARG(YMM1),
REGARG(YMM3), MEMARG(OPSZ_32))
OPCODE(vpermil2ps_a, vpermil2ps, vpermil2ps, 0, REGARG(XMM0), REGARG(XMM1),
MEMARG(OPSZ_16), REGARG(XMM3))
OPCODE(vpermil2ps_b, vpermil2ps, vpermil2ps, 0, REGARG(XMM0), REGARG(XMM1), REGARG(XMM3),
MEMARG(OPSZ_16))
OPCODE(vpermil2ps_a_256, vpermil2ps, vpermil2ps, 0, REGARG(YMM0), REGARG(YMM1),
MEMARG(OPSZ_32), REGARG(YMM3))
OPCODE(vpermil2ps_b_256, vpermil2ps, vpermil2ps, 0, REGARG(YMM0), REGARG(YMM1),
REGARG(YMM3), MEMARG(OPSZ_32))
OPCODE(vpcomb, vpcomb, vpcomb, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
IMMARG(OPSZ_1))
OPCODE(vpcomw, vpcomw, vpcomw, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
IMMARG(OPSZ_1))
OPCODE(vpcomd, vpcomd, vpcomd, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
IMMARG(OPSZ_1))
OPCODE(vpcomq, vpcomq, vpcomq, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
IMMARG(OPSZ_1))
OPCODE(vpcomub, vpcomub, vpcomub, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
IMMARG(OPSZ_1))
OPCODE(vpcomuw, vpcomuw, vpcomuw, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
IMMARG(OPSZ_1))
OPCODE(vpcomud, vpcomud, vpcomud, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
IMMARG(OPSZ_1))
OPCODE(vpcomuq, vpcomuq, vpcomuq, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
IMMARG(OPSZ_1))
OPCODE(vpalignr_256r, vpalignr, vpalignr, 0, REGARG(YMM0), REGARG(YMM1), REGARG(YMM2),
IMMARG(OPSZ_1))
OPCODE(vpalignr_256m, vpalignr, vpalignr, 0, REGARG(YMM0), REGARG(YMM1), MEMARG(OPSZ_32),
IMMARG(OPSZ_1))
OPCODE(vpblendvb_256, vpblendvb, vpblendvb, 0, REGARG(YMM0), REGARG(YMM1),
MEMARG(OPSZ_32), REGARG(YMM3))
OPCODE(vpblendw_256, vpblendw, vpblendw, 0, REGARG(YMM0), REGARG(YMM1), MEMARG(OPSZ_32),
IMMARG(OPSZ_1))
OPCODE(vmpsadbw_256, vmpsadbw, vmpsadbw, 0, REGARG(YMM0), REGARG(YMM1), MEMARG(OPSZ_32),
IMMARG(OPSZ_1))
OPCODE(vinserti128, vinserti128, vinserti128, 0, REGARG(YMM0), REGARG(YMM1),
MEMARG(OPSZ_16), IMMARG(OPSZ_1))
OPCODE(vpblendd, vpblendd, vpblendd, 0, REGARG(XMM0), REGARG(XMM1), MEMARG(OPSZ_16),
IMMARG(OPSZ_1))
OPCODE(vpblendd_256, vpblendd, vpblendd, 0, REGARG(YMM0), REGARG(YMM1), MEMARG(OPSZ_32),
IMMARG(OPSZ_1))
OPCODE(vperm2i128, vperm2i128, vperm2i128, 0, REGARG(YMM0), REGARG(YMM1), MEMARG(OPSZ_32),
IMMARG(OPSZ_1))