From c8c3d29ba41bbc9d2e596c1f66b52fa4d06f2e1f Mon Sep 17 00:00:00 2001 From: flobernd Date: Fri, 23 Jun 2017 03:35:12 +0200 Subject: [PATCH] Added support for MVEX instructions with static broadcast factor --- include/Zydis/InstructionInfo.h | 19 +- .../Zydis/Internal/InstructionDefinitions.inc | 814 +++++++++--------- include/Zydis/Internal/InstructionTable.h | 20 + src/Decoder.c | 103 ++- 4 files changed, 508 insertions(+), 448 deletions(-) diff --git a/include/Zydis/InstructionInfo.h b/include/Zydis/InstructionInfo.h index 31315cc..2b6494f 100644 --- a/include/Zydis/InstructionInfo.h +++ b/include/Zydis/InstructionInfo.h @@ -278,7 +278,7 @@ typedef struct ZydisOperandInfo_ */ ZydisOperandEncoding encoding; /** - * @brief The logical size of the operand (in bytes). + * @brief The logical size of the operand (in bits). */ uint16_t size; /** @@ -939,9 +939,22 @@ typedef struct ZydisInstructionInfo_ */ ZydisMaskMode maskMode; /** - * @brief The AVX broadcast-mode. + * @brief Contains info about the AVX broadcast-factor. */ - ZydisBroadcastMode broadcastMode; + struct + { + /** + * @brief Signals, if the broadcast is a static broadcast. + * + * This is the case for instructions with inbuild broadcast functionality, that is + * always active and not controlled by a flag in the EVEX/MVEX-prefix. + */ + ZydisBool isStatic; + /** + * @brief The AVX broadcast-mode. + */ + ZydisBroadcastMode mode; + } broadcast; /** * @brief The AVX rounding-mode. */ diff --git a/include/Zydis/Internal/InstructionDefinitions.inc b/include/Zydis/Internal/InstructionDefinitions.inc index 68138a7..9f06868 100644 --- a/include/Zydis/Internal/InstructionDefinitions.inc +++ b/include/Zydis/Internal/InstructionDefinitions.inc @@ -6509,411 +6509,411 @@ const ZydisInstructionDefinitionEVEX instructionDefinitionsEVEX[] = const ZydisInstructionDefinitionMVEX instructionDefinitionsMVEX[] = { - /*0000*/ { ZYDIS_MNEMONIC_CLEVICT0, 1, 0x16CA, 0x00, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_INVALID, ZYDIS_FALSE }, - /*0001*/ { ZYDIS_MNEMONIC_CLEVICT1, 1, 0x16CA, 0x00, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_INVALID, ZYDIS_FALSE }, - /*0002*/ { ZYDIS_MNEMONIC_VADDNPD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0003*/ { ZYDIS_MNEMONIC_VADDNPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0004*/ { ZYDIS_MNEMONIC_VADDNPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0005*/ { ZYDIS_MNEMONIC_VADDNPS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0006*/ { ZYDIS_MNEMONIC_VADDNPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0007*/ { ZYDIS_MNEMONIC_VADDNPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0008*/ { ZYDIS_MNEMONIC_VADDPD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0009*/ { ZYDIS_MNEMONIC_VADDPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*000A*/ { ZYDIS_MNEMONIC_VADDPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*000B*/ { ZYDIS_MNEMONIC_VADDPS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*000C*/ { ZYDIS_MNEMONIC_VADDPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*000D*/ { ZYDIS_MNEMONIC_VADDPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*000E*/ { ZYDIS_MNEMONIC_VADDSETSPS, 4, 0x088C, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*000F*/ { ZYDIS_MNEMONIC_VADDSETSPS, 4, 0x088C, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0010*/ { ZYDIS_MNEMONIC_VADDSETSPS, 4, 0x0890, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0011*/ { ZYDIS_MNEMONIC_VALIGND, 5, 0x0396, 0x00, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0012*/ { ZYDIS_MNEMONIC_VALIGND, 5, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0013*/ { ZYDIS_MNEMONIC_VBLENDMPD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0014*/ { ZYDIS_MNEMONIC_VBLENDMPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0015*/ { ZYDIS_MNEMONIC_VBLENDMPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0016*/ { ZYDIS_MNEMONIC_VBLENDMPS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0017*/ { ZYDIS_MNEMONIC_VBLENDMPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0018*/ { ZYDIS_MNEMONIC_VBLENDMPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0019*/ { ZYDIS_MNEMONIC_VBROADCASTF32X4, 3, 0x0894, 0x00, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*001A*/ { ZYDIS_MNEMONIC_VBROADCASTF64X4, 3, 0x08B8, 0x00, ZYDIS_MVEX_FUNC_UF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*001B*/ { ZYDIS_MNEMONIC_VBROADCASTI32X4, 3, 0x089C, 0x00, ZYDIS_MVEX_FUNC_UI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*001C*/ { ZYDIS_MNEMONIC_VBROADCASTI64X4, 3, 0x11B4, 0x00, ZYDIS_MVEX_FUNC_UF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*001D*/ { ZYDIS_MNEMONIC_VBROADCASTSD, 3, 0x08B8, 0x00, ZYDIS_MVEX_FUNC_UF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*001E*/ { ZYDIS_MNEMONIC_VBROADCASTSS, 3, 0x0894, 0x00, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*001F*/ { ZYDIS_MNEMONIC_VCMPPD, 5, 0x03A0, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0020*/ { ZYDIS_MNEMONIC_VCMPPD, 5, 0x03A5, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0021*/ { ZYDIS_MNEMONIC_VCMPPD, 5, 0x03A5, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0022*/ { ZYDIS_MNEMONIC_VCMPPS, 5, 0x03AA, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0023*/ { ZYDIS_MNEMONIC_VCMPPS, 5, 0x03AF, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0024*/ { ZYDIS_MNEMONIC_VCMPPS, 5, 0x03AF, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0025*/ { ZYDIS_MNEMONIC_VCVTDQ2PD, 3, 0x08B8, 0x00, ZYDIS_MVEX_FUNC_SI_32_BCST, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0026*/ { ZYDIS_MNEMONIC_VCVTDQ2PD, 3, 0x08BC, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0027*/ { ZYDIS_MNEMONIC_VCVTDQ2PD, 3, 0x08BC, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0028*/ { ZYDIS_MNEMONIC_VCVTFXPNTDQ2PS, 4, 0x0894, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0029*/ { ZYDIS_MNEMONIC_VCVTFXPNTDQ2PS, 4, 0x0898, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*002A*/ { ZYDIS_MNEMONIC_VCVTFXPNTDQ2PS, 4, 0x0898, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*002B*/ { ZYDIS_MNEMONIC_VCVTFXPNTPD2DQ, 4, 0x089C, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*002C*/ { ZYDIS_MNEMONIC_VCVTFXPNTPD2DQ, 4, 0x08A0, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*002D*/ { ZYDIS_MNEMONIC_VCVTFXPNTPD2DQ, 4, 0x08A0, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*002E*/ { ZYDIS_MNEMONIC_VCVTFXPNTPD2UDQ, 4, 0x08A4, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*002F*/ { ZYDIS_MNEMONIC_VCVTFXPNTPD2UDQ, 4, 0x08A8, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0030*/ { ZYDIS_MNEMONIC_VCVTFXPNTPD2UDQ, 4, 0x08A8, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0031*/ { ZYDIS_MNEMONIC_VCVTFXPNTPS2DQ, 4, 0x089C, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0032*/ { ZYDIS_MNEMONIC_VCVTFXPNTPS2DQ, 4, 0x08AC, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0033*/ { ZYDIS_MNEMONIC_VCVTFXPNTPS2DQ, 4, 0x08AC, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0034*/ { ZYDIS_MNEMONIC_VCVTFXPNTPS2UDQ, 4, 0x08A4, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0035*/ { ZYDIS_MNEMONIC_VCVTFXPNTPS2UDQ, 4, 0x08B0, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0036*/ { ZYDIS_MNEMONIC_VCVTFXPNTPS2UDQ, 4, 0x08B0, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0037*/ { ZYDIS_MNEMONIC_VCVTFXPNTUDQ2PS, 4, 0x0894, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0038*/ { ZYDIS_MNEMONIC_VCVTFXPNTUDQ2PS, 4, 0x08B4, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0039*/ { ZYDIS_MNEMONIC_VCVTFXPNTUDQ2PS, 4, 0x08B4, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*003A*/ { ZYDIS_MNEMONIC_VCVTPD2PS, 3, 0x0894, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*003B*/ { ZYDIS_MNEMONIC_VCVTPD2PS, 3, 0x11B7, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*003C*/ { ZYDIS_MNEMONIC_VCVTPD2PS, 3, 0x11B7, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*003D*/ { ZYDIS_MNEMONIC_VCVTPS2PD, 3, 0x08B8, 0x00, ZYDIS_MVEX_FUNC_SF_32_BCST, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*003E*/ { ZYDIS_MNEMONIC_VCVTPS2PD, 3, 0x11BA, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*003F*/ { ZYDIS_MNEMONIC_VCVTPS2PD, 3, 0x11BA, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0040*/ { ZYDIS_MNEMONIC_VCVTUDQ2PD, 3, 0x08B8, 0x00, ZYDIS_MVEX_FUNC_SI_32_BCST, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0041*/ { ZYDIS_MNEMONIC_VCVTUDQ2PD, 3, 0x08BC, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0042*/ { ZYDIS_MNEMONIC_VCVTUDQ2PD, 3, 0x08BC, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0043*/ { ZYDIS_MNEMONIC_VEXP223PS, 3, 0x08CC, 0x00, ZYDIS_MVEX_FUNC_F_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0044*/ { ZYDIS_MNEMONIC_VEXP223PS, 3, 0x08D0, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0045*/ { ZYDIS_MNEMONIC_VEXP223PS, 3, 0x08D0, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0046*/ { ZYDIS_MNEMONIC_VFIXUPNANPD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SI_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0047*/ { ZYDIS_MNEMONIC_VFIXUPNANPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0048*/ { ZYDIS_MNEMONIC_VFIXUPNANPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0049*/ { ZYDIS_MNEMONIC_VFIXUPNANPS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*004A*/ { ZYDIS_MNEMONIC_VFIXUPNANPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*004B*/ { ZYDIS_MNEMONIC_VFIXUPNANPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*004C*/ { ZYDIS_MNEMONIC_VFMADD132PD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*004D*/ { ZYDIS_MNEMONIC_VFMADD132PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*004E*/ { ZYDIS_MNEMONIC_VFMADD132PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*004F*/ { ZYDIS_MNEMONIC_VFMADD132PS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0050*/ { ZYDIS_MNEMONIC_VFMADD132PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0051*/ { ZYDIS_MNEMONIC_VFMADD132PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0052*/ { ZYDIS_MNEMONIC_VFMADD213PD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0053*/ { ZYDIS_MNEMONIC_VFMADD213PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0054*/ { ZYDIS_MNEMONIC_VFMADD213PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0055*/ { ZYDIS_MNEMONIC_VFMADD213PS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0056*/ { ZYDIS_MNEMONIC_VFMADD213PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0057*/ { ZYDIS_MNEMONIC_VFMADD213PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0058*/ { ZYDIS_MNEMONIC_VFMADD231PD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0059*/ { ZYDIS_MNEMONIC_VFMADD231PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*005A*/ { ZYDIS_MNEMONIC_VFMADD231PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*005B*/ { ZYDIS_MNEMONIC_VFMADD231PS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*005C*/ { ZYDIS_MNEMONIC_VFMADD231PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*005D*/ { ZYDIS_MNEMONIC_VFMADD231PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*005E*/ { ZYDIS_MNEMONIC_VFMADD233PS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32_BCST_4TO16, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*005F*/ { ZYDIS_MNEMONIC_VFMADD233PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0060*/ { ZYDIS_MNEMONIC_VFMADD233PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0061*/ { ZYDIS_MNEMONIC_VFMSUB132PD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0062*/ { ZYDIS_MNEMONIC_VFMSUB132PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0063*/ { ZYDIS_MNEMONIC_VFMSUB132PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0064*/ { ZYDIS_MNEMONIC_VFMSUB132PS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0065*/ { ZYDIS_MNEMONIC_VFMSUB132PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0066*/ { ZYDIS_MNEMONIC_VFMSUB132PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0067*/ { ZYDIS_MNEMONIC_VFMSUB213PD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0068*/ { ZYDIS_MNEMONIC_VFMSUB213PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0069*/ { ZYDIS_MNEMONIC_VFMSUB213PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*006A*/ { ZYDIS_MNEMONIC_VFMSUB213PS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*006B*/ { ZYDIS_MNEMONIC_VFMSUB213PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*006C*/ { ZYDIS_MNEMONIC_VFMSUB213PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*006D*/ { ZYDIS_MNEMONIC_VFMSUB231PD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*006E*/ { ZYDIS_MNEMONIC_VFMSUB231PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*006F*/ { ZYDIS_MNEMONIC_VFMSUB231PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0070*/ { ZYDIS_MNEMONIC_VFMSUB231PS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0071*/ { ZYDIS_MNEMONIC_VFMSUB231PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0072*/ { ZYDIS_MNEMONIC_VFMSUB231PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0073*/ { ZYDIS_MNEMONIC_VFNMADD132PD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0074*/ { ZYDIS_MNEMONIC_VFNMADD132PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0075*/ { ZYDIS_MNEMONIC_VFNMADD132PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0076*/ { ZYDIS_MNEMONIC_VFNMADD132PS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0077*/ { ZYDIS_MNEMONIC_VFNMADD132PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0078*/ { ZYDIS_MNEMONIC_VFNMADD132PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0079*/ { ZYDIS_MNEMONIC_VFNMADD213PD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*007A*/ { ZYDIS_MNEMONIC_VFNMADD213PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*007B*/ { ZYDIS_MNEMONIC_VFNMADD213PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*007C*/ { ZYDIS_MNEMONIC_VFNMADD213PS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*007D*/ { ZYDIS_MNEMONIC_VFNMADD213PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*007E*/ { ZYDIS_MNEMONIC_VFNMADD213PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*007F*/ { ZYDIS_MNEMONIC_VFNMADD231PD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0080*/ { ZYDIS_MNEMONIC_VFNMADD231PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0081*/ { ZYDIS_MNEMONIC_VFNMADD231PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0082*/ { ZYDIS_MNEMONIC_VFNMADD231PS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0083*/ { ZYDIS_MNEMONIC_VFNMADD231PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0084*/ { ZYDIS_MNEMONIC_VFNMADD231PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0085*/ { ZYDIS_MNEMONIC_VFNMSUB132PD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0086*/ { ZYDIS_MNEMONIC_VFNMSUB132PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0087*/ { ZYDIS_MNEMONIC_VFNMSUB132PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0088*/ { ZYDIS_MNEMONIC_VFNMSUB132PS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0089*/ { ZYDIS_MNEMONIC_VFNMSUB132PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*008A*/ { ZYDIS_MNEMONIC_VFNMSUB132PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*008B*/ { ZYDIS_MNEMONIC_VFNMSUB213PD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*008C*/ { ZYDIS_MNEMONIC_VFNMSUB213PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*008D*/ { ZYDIS_MNEMONIC_VFNMSUB213PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*008E*/ { ZYDIS_MNEMONIC_VFNMSUB213PS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*008F*/ { ZYDIS_MNEMONIC_VFNMSUB213PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0090*/ { ZYDIS_MNEMONIC_VFNMSUB213PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0091*/ { ZYDIS_MNEMONIC_VFNMSUB231PD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0092*/ { ZYDIS_MNEMONIC_VFNMSUB231PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0093*/ { ZYDIS_MNEMONIC_VFNMSUB231PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0094*/ { ZYDIS_MNEMONIC_VFNMSUB231PS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0095*/ { ZYDIS_MNEMONIC_VFNMSUB231PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0096*/ { ZYDIS_MNEMONIC_VFNMSUB231PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0097*/ { ZYDIS_MNEMONIC_VGATHERDPD, 3, 0x11BD, 0x00, ZYDIS_MVEX_FUNC_UF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0098*/ { ZYDIS_MNEMONIC_VGATHERDPS, 3, 0x11C0, 0x00, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0099*/ { ZYDIS_MNEMONIC_VGATHERPF0DPS, 2, 0x16C8, 0x00, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*009A*/ { ZYDIS_MNEMONIC_VGATHERPF0HINTDPD, 2, 0x16C8, 0x00, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*009B*/ { ZYDIS_MNEMONIC_VGATHERPF0HINTDPS, 2, 0x16C8, 0x00, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*009C*/ { ZYDIS_MNEMONIC_VGATHERPF1DPS, 2, 0x16C8, 0x00, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*009D*/ { ZYDIS_MNEMONIC_VGETEXPPD, 3, 0x08B8, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*009E*/ { ZYDIS_MNEMONIC_VGETEXPPD, 3, 0x08BC, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*009F*/ { ZYDIS_MNEMONIC_VGETEXPPD, 3, 0x08BC, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00A0*/ { ZYDIS_MNEMONIC_VGETEXPPS, 3, 0x08B8, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00A1*/ { ZYDIS_MNEMONIC_VGETEXPPS, 3, 0x11BA, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00A2*/ { ZYDIS_MNEMONIC_VGETEXPPS, 3, 0x11BA, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00A3*/ { ZYDIS_MNEMONIC_VGETMANTPD, 4, 0x08B8, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00A4*/ { ZYDIS_MNEMONIC_VGETMANTPD, 4, 0x08BC, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00A5*/ { ZYDIS_MNEMONIC_VGETMANTPD, 4, 0x08BC, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00A6*/ { ZYDIS_MNEMONIC_VGETMANTPS, 4, 0x0894, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00A7*/ { ZYDIS_MNEMONIC_VGETMANTPS, 4, 0x08C0, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00A8*/ { ZYDIS_MNEMONIC_VGETMANTPS, 4, 0x08C0, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00A9*/ { ZYDIS_MNEMONIC_VGMAXABSPS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00AA*/ { ZYDIS_MNEMONIC_VGMAXABSPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00AB*/ { ZYDIS_MNEMONIC_VGMAXABSPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00AC*/ { ZYDIS_MNEMONIC_VGMAXPD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00AD*/ { ZYDIS_MNEMONIC_VGMAXPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00AE*/ { ZYDIS_MNEMONIC_VGMAXPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00AF*/ { ZYDIS_MNEMONIC_VGMAXPS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00B0*/ { ZYDIS_MNEMONIC_VGMAXPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00B1*/ { ZYDIS_MNEMONIC_VGMAXPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00B2*/ { ZYDIS_MNEMONIC_VGMINPD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00B3*/ { ZYDIS_MNEMONIC_VGMINPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00B4*/ { ZYDIS_MNEMONIC_VGMINPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00B5*/ { ZYDIS_MNEMONIC_VGMINPS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00B6*/ { ZYDIS_MNEMONIC_VGMINPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00B7*/ { ZYDIS_MNEMONIC_VGMINPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00B8*/ { ZYDIS_MNEMONIC_VLOADUNPACKHD, 3, 0x089C, 0x00, ZYDIS_MVEX_FUNC_UI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE }, - /*00B9*/ { ZYDIS_MNEMONIC_VLOADUNPACKHPD, 3, 0x08B8, 0x00, ZYDIS_MVEX_FUNC_UF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE }, - /*00BA*/ { ZYDIS_MNEMONIC_VLOADUNPACKHPS, 3, 0x0894, 0x00, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE }, - /*00BB*/ { ZYDIS_MNEMONIC_VLOADUNPACKHQ, 3, 0x11B4, 0x00, ZYDIS_MVEX_FUNC_UI_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE }, - /*00BC*/ { ZYDIS_MNEMONIC_VLOADUNPACKLD, 3, 0x089C, 0x00, ZYDIS_MVEX_FUNC_UI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE }, - /*00BD*/ { ZYDIS_MNEMONIC_VLOADUNPACKLPD, 3, 0x08B8, 0x00, ZYDIS_MVEX_FUNC_UF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE }, - /*00BE*/ { ZYDIS_MNEMONIC_VLOADUNPACKLPS, 3, 0x0894, 0x00, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE }, - /*00BF*/ { ZYDIS_MNEMONIC_VLOADUNPACKLQ, 3, 0x11B4, 0x00, ZYDIS_MVEX_FUNC_UI_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE }, - /*00C0*/ { ZYDIS_MNEMONIC_VLOG2PS, 3, 0x08CC, 0x00, ZYDIS_MVEX_FUNC_F_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00C1*/ { ZYDIS_MNEMONIC_VLOG2PS, 3, 0x08D0, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00C2*/ { ZYDIS_MNEMONIC_VLOG2PS, 3, 0x08D0, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00C3*/ { ZYDIS_MNEMONIC_VMOVAPD, 3, 0x08B8, 0x00, ZYDIS_MVEX_FUNC_UF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00C4*/ { ZYDIS_MNEMONIC_VMOVAPD, 3, 0x08BC, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00C5*/ { ZYDIS_MNEMONIC_VMOVAPD, 3, 0x08BC, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00C6*/ { ZYDIS_MNEMONIC_VMOVAPD, 3, 0x11C3, 0x00, ZYDIS_MVEX_FUNC_DF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00C7*/ { ZYDIS_MNEMONIC_VMOVAPS, 3, 0x0894, 0x00, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00C8*/ { ZYDIS_MNEMONIC_VMOVAPS, 3, 0x08C0, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00C9*/ { ZYDIS_MNEMONIC_VMOVAPS, 3, 0x08C0, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00CA*/ { ZYDIS_MNEMONIC_VMOVAPS, 3, 0x11C6, 0x00, ZYDIS_MVEX_FUNC_DF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00CB*/ { ZYDIS_MNEMONIC_VMOVDQA32, 3, 0x089C, 0x00, ZYDIS_MVEX_FUNC_UI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00CC*/ { ZYDIS_MNEMONIC_VMOVDQA32, 3, 0x08D0, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00CD*/ { ZYDIS_MNEMONIC_VMOVDQA32, 3, 0x08D0, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00CE*/ { ZYDIS_MNEMONIC_VMOVDQA32, 3, 0x11C9, 0x00, ZYDIS_MVEX_FUNC_DI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00CF*/ { ZYDIS_MNEMONIC_VMOVDQA64, 3, 0x11B4, 0x00, ZYDIS_MVEX_FUNC_UI_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00D0*/ { ZYDIS_MNEMONIC_VMOVDQA64, 3, 0x11CC, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00D1*/ { ZYDIS_MNEMONIC_VMOVDQA64, 3, 0x11CC, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00D2*/ { ZYDIS_MNEMONIC_VMOVDQA64, 3, 0x11CF, 0x00, ZYDIS_MVEX_FUNC_DI_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00D3*/ { ZYDIS_MNEMONIC_VMOVNRAPD, 3, 0x11D2, 0x00, ZYDIS_MVEX_FUNC_DF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00D4*/ { ZYDIS_MNEMONIC_VMOVNRAPS, 3, 0x11D5, 0x00, ZYDIS_MVEX_FUNC_DF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00D5*/ { ZYDIS_MNEMONIC_VMOVNRNGOAPD, 3, 0x11D2, 0x00, ZYDIS_MVEX_FUNC_DF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00D6*/ { ZYDIS_MNEMONIC_VMOVNRNGOAPS, 3, 0x11D5, 0x00, ZYDIS_MVEX_FUNC_DF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00D7*/ { ZYDIS_MNEMONIC_VMULPD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00D8*/ { ZYDIS_MNEMONIC_VMULPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00D9*/ { ZYDIS_MNEMONIC_VMULPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00DA*/ { ZYDIS_MNEMONIC_VMULPS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00DB*/ { ZYDIS_MNEMONIC_VMULPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00DC*/ { ZYDIS_MNEMONIC_VMULPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00DD*/ { ZYDIS_MNEMONIC_VPACKSTOREHD, 3, 0x11C9, 0x00, ZYDIS_MVEX_FUNC_DI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE }, - /*00DE*/ { ZYDIS_MNEMONIC_VPACKSTOREHPD, 3, 0x11D8, 0x00, ZYDIS_MVEX_FUNC_DF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE }, - /*00DF*/ { ZYDIS_MNEMONIC_VPACKSTOREHPS, 3, 0x11C6, 0x00, ZYDIS_MVEX_FUNC_DF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE }, - /*00E0*/ { ZYDIS_MNEMONIC_VPACKSTOREHQ, 3, 0x11DB, 0x00, ZYDIS_MVEX_FUNC_DI_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE }, - /*00E1*/ { ZYDIS_MNEMONIC_VPACKSTORELD, 3, 0x11C9, 0x00, ZYDIS_MVEX_FUNC_DI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE }, - /*00E2*/ { ZYDIS_MNEMONIC_VPACKSTORELPD, 3, 0x11D8, 0x00, ZYDIS_MVEX_FUNC_DF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE }, - /*00E3*/ { ZYDIS_MNEMONIC_VPACKSTORELPS, 3, 0x11C6, 0x00, ZYDIS_MVEX_FUNC_DF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE }, - /*00E4*/ { ZYDIS_MNEMONIC_VPACKSTORELQ, 3, 0x11DB, 0x00, ZYDIS_MVEX_FUNC_DI_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE }, - /*00E5*/ { ZYDIS_MNEMONIC_VPADCD, 4, 0x08C4, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00E6*/ { ZYDIS_MNEMONIC_VPADCD, 4, 0x08C8, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00E7*/ { ZYDIS_MNEMONIC_VPADCD, 4, 0x08C8, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00E8*/ { ZYDIS_MNEMONIC_VPADDD, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00E9*/ { ZYDIS_MNEMONIC_VPADDD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00EA*/ { ZYDIS_MNEMONIC_VPADDD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00EB*/ { ZYDIS_MNEMONIC_VPADDSETCD, 4, 0x08C4, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00EC*/ { ZYDIS_MNEMONIC_VPADDSETCD, 4, 0x08C8, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00ED*/ { ZYDIS_MNEMONIC_VPADDSETCD, 4, 0x08C8, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00EE*/ { ZYDIS_MNEMONIC_VPADDSETSD, 4, 0x0890, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00EF*/ { ZYDIS_MNEMONIC_VPADDSETSD, 4, 0x088C, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00F0*/ { ZYDIS_MNEMONIC_VPADDSETSD, 4, 0x088C, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00F1*/ { ZYDIS_MNEMONIC_VPANDD, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00F2*/ { ZYDIS_MNEMONIC_VPANDD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00F3*/ { ZYDIS_MNEMONIC_VPANDD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00F4*/ { ZYDIS_MNEMONIC_VPANDND, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00F5*/ { ZYDIS_MNEMONIC_VPANDND, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00F6*/ { ZYDIS_MNEMONIC_VPANDND, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00F7*/ { ZYDIS_MNEMONIC_VPANDNQ, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SI_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00F8*/ { ZYDIS_MNEMONIC_VPANDNQ, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00F9*/ { ZYDIS_MNEMONIC_VPANDNQ, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00FA*/ { ZYDIS_MNEMONIC_VPANDQ, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SI_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00FB*/ { ZYDIS_MNEMONIC_VPANDQ, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00FC*/ { ZYDIS_MNEMONIC_VPANDQ, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00FD*/ { ZYDIS_MNEMONIC_VPBLENDMD, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00FE*/ { ZYDIS_MNEMONIC_VPBLENDMD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*00FF*/ { ZYDIS_MNEMONIC_VPBLENDMD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0100*/ { ZYDIS_MNEMONIC_VPBLENDMQ, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SI_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0101*/ { ZYDIS_MNEMONIC_VPBLENDMQ, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0102*/ { ZYDIS_MNEMONIC_VPBLENDMQ, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0103*/ { ZYDIS_MNEMONIC_VPBROADCASTD, 3, 0x089C, 0x00, ZYDIS_MVEX_FUNC_UI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0104*/ { ZYDIS_MNEMONIC_VPBROADCASTQ, 3, 0x11B4, 0x00, ZYDIS_MVEX_FUNC_UF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0105*/ { ZYDIS_MNEMONIC_VPCMPD, 5, 0x03B4, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0106*/ { ZYDIS_MNEMONIC_VPCMPD, 5, 0x03B9, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0107*/ { ZYDIS_MNEMONIC_VPCMPD, 5, 0x03B9, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0108*/ { ZYDIS_MNEMONIC_VPCMPEQD, 4, 0x03B4, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0109*/ { ZYDIS_MNEMONIC_VPCMPEQD, 4, 0x03B9, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*010A*/ { ZYDIS_MNEMONIC_VPCMPEQD, 4, 0x03B9, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*010B*/ { ZYDIS_MNEMONIC_VPCMPGTD, 4, 0x03B4, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*010C*/ { ZYDIS_MNEMONIC_VPCMPGTD, 4, 0x03B9, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*010D*/ { ZYDIS_MNEMONIC_VPCMPGTD, 4, 0x03B9, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*010E*/ { ZYDIS_MNEMONIC_VPCMPLTD, 4, 0x03B4, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*010F*/ { ZYDIS_MNEMONIC_VPCMPLTD, 4, 0x03B9, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0110*/ { ZYDIS_MNEMONIC_VPCMPLTD, 4, 0x03B9, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0111*/ { ZYDIS_MNEMONIC_VPCMPUD, 5, 0x03BE, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0112*/ { ZYDIS_MNEMONIC_VPCMPUD, 5, 0x03C3, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0113*/ { ZYDIS_MNEMONIC_VPCMPUD, 5, 0x03C3, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0114*/ { ZYDIS_MNEMONIC_VPERMD, 4, 0x0396, 0x00, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0115*/ { ZYDIS_MNEMONIC_VPERMD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0116*/ { ZYDIS_MNEMONIC_VPERMF32X4, 4, 0x08CC, 0x00, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0117*/ { ZYDIS_MNEMONIC_VPERMF32X4, 4, 0x08D0, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0118*/ { ZYDIS_MNEMONIC_VPERMF32X4, 4, 0x08D0, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0119*/ { ZYDIS_MNEMONIC_VPGATHERDD, 3, 0x11DE, 0x00, ZYDIS_MVEX_FUNC_UI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*011A*/ { ZYDIS_MNEMONIC_VPGATHERDQ, 3, 0x11E1, 0x00, ZYDIS_MVEX_FUNC_UI_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*011B*/ { ZYDIS_MNEMONIC_VPMADD231D, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*011C*/ { ZYDIS_MNEMONIC_VPMADD231D, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*011D*/ { ZYDIS_MNEMONIC_VPMADD231D, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*011E*/ { ZYDIS_MNEMONIC_VPMADD233D, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32_BCST_4TO16, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*011F*/ { ZYDIS_MNEMONIC_VPMADD233D, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0120*/ { ZYDIS_MNEMONIC_VPMADD233D, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0121*/ { ZYDIS_MNEMONIC_VPMAXSD, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0122*/ { ZYDIS_MNEMONIC_VPMAXSD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0123*/ { ZYDIS_MNEMONIC_VPMAXSD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0124*/ { ZYDIS_MNEMONIC_VPMAXUD, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0125*/ { ZYDIS_MNEMONIC_VPMAXUD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0126*/ { ZYDIS_MNEMONIC_VPMAXUD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0127*/ { ZYDIS_MNEMONIC_VPMINSD, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0128*/ { ZYDIS_MNEMONIC_VPMINSD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0129*/ { ZYDIS_MNEMONIC_VPMINSD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*012A*/ { ZYDIS_MNEMONIC_VPMINUD, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*012B*/ { ZYDIS_MNEMONIC_VPMINUD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*012C*/ { ZYDIS_MNEMONIC_VPMINUD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*012D*/ { ZYDIS_MNEMONIC_VPMULHD, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*012E*/ { ZYDIS_MNEMONIC_VPMULHD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*012F*/ { ZYDIS_MNEMONIC_VPMULHD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0130*/ { ZYDIS_MNEMONIC_VPMULHUD, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0131*/ { ZYDIS_MNEMONIC_VPMULHUD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0132*/ { ZYDIS_MNEMONIC_VPMULHUD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0133*/ { ZYDIS_MNEMONIC_VPMULLD, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0134*/ { ZYDIS_MNEMONIC_VPMULLD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0135*/ { ZYDIS_MNEMONIC_VPMULLD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0136*/ { ZYDIS_MNEMONIC_VPORD, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0137*/ { ZYDIS_MNEMONIC_VPORD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0138*/ { ZYDIS_MNEMONIC_VPORD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0139*/ { ZYDIS_MNEMONIC_VPORQ, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SI_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*013A*/ { ZYDIS_MNEMONIC_VPORQ, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*013B*/ { ZYDIS_MNEMONIC_VPORQ, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*013C*/ { ZYDIS_MNEMONIC_VPREFETCH0, 1, 0x16CA, 0x00, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_INVALID, ZYDIS_FALSE }, - /*013D*/ { ZYDIS_MNEMONIC_VPREFETCH1, 1, 0x16CA, 0x00, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_INVALID, ZYDIS_FALSE }, - /*013E*/ { ZYDIS_MNEMONIC_VPREFETCH2, 1, 0x16CA, 0x00, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_INVALID, ZYDIS_FALSE }, - /*013F*/ { ZYDIS_MNEMONIC_VPREFETCHE0, 1, 0x16CA, 0x00, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_INVALID, ZYDIS_FALSE }, - /*0140*/ { ZYDIS_MNEMONIC_VPREFETCHE1, 1, 0x16CA, 0x00, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_INVALID, ZYDIS_FALSE }, - /*0141*/ { ZYDIS_MNEMONIC_VPREFETCHE2, 1, 0x16CA, 0x00, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_INVALID, ZYDIS_FALSE }, - /*0142*/ { ZYDIS_MNEMONIC_VPREFETCHENTA, 1, 0x16CA, 0x00, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_INVALID, ZYDIS_FALSE }, - /*0143*/ { ZYDIS_MNEMONIC_VPREFETCHNTA, 1, 0x16CA, 0x00, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_INVALID, ZYDIS_FALSE }, - /*0144*/ { ZYDIS_MNEMONIC_VPSBBD, 4, 0x08C4, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0145*/ { ZYDIS_MNEMONIC_VPSBBD, 4, 0x08C8, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0146*/ { ZYDIS_MNEMONIC_VPSBBD, 4, 0x08C8, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0147*/ { ZYDIS_MNEMONIC_VPSBBRD, 4, 0x08C4, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0148*/ { ZYDIS_MNEMONIC_VPSBBRD, 4, 0x08C8, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0149*/ { ZYDIS_MNEMONIC_VPSBBRD, 4, 0x08C8, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*014A*/ { ZYDIS_MNEMONIC_VPSCATTERDD, 3, 0x11E4, 0x00, ZYDIS_MVEX_FUNC_DI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*014B*/ { ZYDIS_MNEMONIC_VPSCATTERDQ, 3, 0x11E7, 0x00, ZYDIS_MVEX_FUNC_DI_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*014C*/ { ZYDIS_MNEMONIC_VPSHUFD, 4, 0x08CC, 0x00, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*014D*/ { ZYDIS_MNEMONIC_VPSHUFD, 4, 0x08D0, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*014E*/ { ZYDIS_MNEMONIC_VPSHUFD, 4, 0x08D0, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*014F*/ { ZYDIS_MNEMONIC_VPSLLD, 4, 0x08D4, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0150*/ { ZYDIS_MNEMONIC_VPSLLD, 4, 0x08D4, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0151*/ { ZYDIS_MNEMONIC_VPSLLD, 4, 0x08D8, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0152*/ { ZYDIS_MNEMONIC_VPSLLVD, 4, 0x08DC, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0153*/ { ZYDIS_MNEMONIC_VPSLLVD, 4, 0x08E0, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0154*/ { ZYDIS_MNEMONIC_VPSLLVD, 4, 0x08E0, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0155*/ { ZYDIS_MNEMONIC_VPSRAD, 4, 0x08D4, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0156*/ { ZYDIS_MNEMONIC_VPSRAD, 4, 0x08D4, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0157*/ { ZYDIS_MNEMONIC_VPSRAD, 4, 0x08D8, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0158*/ { ZYDIS_MNEMONIC_VPSRAVD, 4, 0x08DC, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0159*/ { ZYDIS_MNEMONIC_VPSRAVD, 4, 0x08E0, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*015A*/ { ZYDIS_MNEMONIC_VPSRAVD, 4, 0x08E0, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*015B*/ { ZYDIS_MNEMONIC_VPSRLD, 4, 0x08D4, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*015C*/ { ZYDIS_MNEMONIC_VPSRLD, 4, 0x08D4, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*015D*/ { ZYDIS_MNEMONIC_VPSRLD, 4, 0x08D8, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*015E*/ { ZYDIS_MNEMONIC_VPSRLVD, 4, 0x08DC, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*015F*/ { ZYDIS_MNEMONIC_VPSRLVD, 4, 0x08E0, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0160*/ { ZYDIS_MNEMONIC_VPSRLVD, 4, 0x08E0, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0161*/ { ZYDIS_MNEMONIC_VPSUBD, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0162*/ { ZYDIS_MNEMONIC_VPSUBD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0163*/ { ZYDIS_MNEMONIC_VPSUBD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0164*/ { ZYDIS_MNEMONIC_VPSUBRD, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0165*/ { ZYDIS_MNEMONIC_VPSUBRD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0166*/ { ZYDIS_MNEMONIC_VPSUBRD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0167*/ { ZYDIS_MNEMONIC_VPSUBRSETBD, 4, 0x08C4, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0168*/ { ZYDIS_MNEMONIC_VPSUBRSETBD, 4, 0x08C8, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0169*/ { ZYDIS_MNEMONIC_VPSUBRSETBD, 4, 0x08C8, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*016A*/ { ZYDIS_MNEMONIC_VPSUBSETBD, 4, 0x08C4, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*016B*/ { ZYDIS_MNEMONIC_VPSUBSETBD, 4, 0x08C8, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*016C*/ { ZYDIS_MNEMONIC_VPSUBSETBD, 4, 0x08C8, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*016D*/ { ZYDIS_MNEMONIC_VPTESTMD, 4, 0x03B4, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*016E*/ { ZYDIS_MNEMONIC_VPTESTMD, 4, 0x03B9, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*016F*/ { ZYDIS_MNEMONIC_VPTESTMD, 4, 0x03B9, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0170*/ { ZYDIS_MNEMONIC_VPXORD, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0171*/ { ZYDIS_MNEMONIC_VPXORD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0172*/ { ZYDIS_MNEMONIC_VPXORD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0173*/ { ZYDIS_MNEMONIC_VPXORQ, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SI_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0174*/ { ZYDIS_MNEMONIC_VPXORQ, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0175*/ { ZYDIS_MNEMONIC_VPXORQ, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0176*/ { ZYDIS_MNEMONIC_VRCP23PS, 3, 0x08CC, 0x00, ZYDIS_MVEX_FUNC_F_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0177*/ { ZYDIS_MNEMONIC_VRCP23PS, 3, 0x08D0, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0178*/ { ZYDIS_MNEMONIC_VRCP23PS, 3, 0x08D0, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0179*/ { ZYDIS_MNEMONIC_VRNDFXPNTPD, 4, 0x08B8, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*017A*/ { ZYDIS_MNEMONIC_VRNDFXPNTPD, 4, 0x08BC, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*017B*/ { ZYDIS_MNEMONIC_VRNDFXPNTPD, 4, 0x08BC, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*017C*/ { ZYDIS_MNEMONIC_VRNDFXPNTPS, 4, 0x0894, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*017D*/ { ZYDIS_MNEMONIC_VRNDFXPNTPS, 4, 0x08C0, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*017E*/ { ZYDIS_MNEMONIC_VRNDFXPNTPS, 4, 0x08C0, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*017F*/ { ZYDIS_MNEMONIC_VRSQRT23PS, 3, 0x08CC, 0x00, ZYDIS_MVEX_FUNC_F_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0180*/ { ZYDIS_MNEMONIC_VRSQRT23PS, 3, 0x08D0, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0181*/ { ZYDIS_MNEMONIC_VRSQRT23PS, 3, 0x08D0, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0182*/ { ZYDIS_MNEMONIC_VSCALEPS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0183*/ { ZYDIS_MNEMONIC_VSCALEPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0184*/ { ZYDIS_MNEMONIC_VSCALEPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0185*/ { ZYDIS_MNEMONIC_VSCATTERDPD, 3, 0x11EA, 0x00, ZYDIS_MVEX_FUNC_DF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0186*/ { ZYDIS_MNEMONIC_VSCATTERDPS, 3, 0x11ED, 0x00, ZYDIS_MVEX_FUNC_DF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0187*/ { ZYDIS_MNEMONIC_VSCATTERPF0DPS, 2, 0x11E4, 0x00, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0188*/ { ZYDIS_MNEMONIC_VSCATTERPF0HINTDPD, 2, 0x11E4, 0x00, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0189*/ { ZYDIS_MNEMONIC_VSCATTERPF0HINTDPS, 2, 0x11E4, 0x00, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*018A*/ { ZYDIS_MNEMONIC_VSCATTERPF1DPS, 2, 0x11E4, 0x00, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*018B*/ { ZYDIS_MNEMONIC_VSUBPD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*018C*/ { ZYDIS_MNEMONIC_VSUBPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*018D*/ { ZYDIS_MNEMONIC_VSUBPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*018E*/ { ZYDIS_MNEMONIC_VSUBPS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*018F*/ { ZYDIS_MNEMONIC_VSUBPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0190*/ { ZYDIS_MNEMONIC_VSUBPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0191*/ { ZYDIS_MNEMONIC_VSUBRPD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0192*/ { ZYDIS_MNEMONIC_VSUBRPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0193*/ { ZYDIS_MNEMONIC_VSUBRPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0194*/ { ZYDIS_MNEMONIC_VSUBRPS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0195*/ { ZYDIS_MNEMONIC_VSUBRPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE }, - /*0196*/ { ZYDIS_MNEMONIC_VSUBRPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE } + /*0000*/ { ZYDIS_MNEMONIC_CLEVICT0, 1, 0x16CA, 0x00, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_INVALID, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0001*/ { ZYDIS_MNEMONIC_CLEVICT1, 1, 0x16CA, 0x00, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_INVALID, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0002*/ { ZYDIS_MNEMONIC_VADDNPD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0003*/ { ZYDIS_MNEMONIC_VADDNPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0004*/ { ZYDIS_MNEMONIC_VADDNPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0005*/ { ZYDIS_MNEMONIC_VADDNPS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0006*/ { ZYDIS_MNEMONIC_VADDNPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0007*/ { ZYDIS_MNEMONIC_VADDNPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0008*/ { ZYDIS_MNEMONIC_VADDPD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0009*/ { ZYDIS_MNEMONIC_VADDPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*000A*/ { ZYDIS_MNEMONIC_VADDPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*000B*/ { ZYDIS_MNEMONIC_VADDPS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*000C*/ { ZYDIS_MNEMONIC_VADDPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*000D*/ { ZYDIS_MNEMONIC_VADDPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*000E*/ { ZYDIS_MNEMONIC_VADDSETSPS, 4, 0x088C, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*000F*/ { ZYDIS_MNEMONIC_VADDSETSPS, 4, 0x088C, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0010*/ { ZYDIS_MNEMONIC_VADDSETSPS, 4, 0x0890, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0011*/ { ZYDIS_MNEMONIC_VALIGND, 5, 0x0396, 0x00, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0012*/ { ZYDIS_MNEMONIC_VALIGND, 5, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0013*/ { ZYDIS_MNEMONIC_VBLENDMPD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0014*/ { ZYDIS_MNEMONIC_VBLENDMPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0015*/ { ZYDIS_MNEMONIC_VBLENDMPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0016*/ { ZYDIS_MNEMONIC_VBLENDMPS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0017*/ { ZYDIS_MNEMONIC_VBLENDMPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0018*/ { ZYDIS_MNEMONIC_VBLENDMPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0019*/ { ZYDIS_MNEMONIC_VBROADCASTF32X4, 3, 0x0894, 0x00, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_4_TO_16 }, + /*001A*/ { ZYDIS_MNEMONIC_VBROADCASTF64X4, 3, 0x08B8, 0x00, ZYDIS_MVEX_FUNC_UF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_4_TO_8 }, + /*001B*/ { ZYDIS_MNEMONIC_VBROADCASTI32X4, 3, 0x089C, 0x00, ZYDIS_MVEX_FUNC_UI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_4_TO_16 }, + /*001C*/ { ZYDIS_MNEMONIC_VBROADCASTI64X4, 3, 0x11B4, 0x00, ZYDIS_MVEX_FUNC_UF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_4_TO_8 }, + /*001D*/ { ZYDIS_MNEMONIC_VBROADCASTSD, 3, 0x08B8, 0x00, ZYDIS_MVEX_FUNC_UF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_1_TO_8 }, + /*001E*/ { ZYDIS_MNEMONIC_VBROADCASTSS, 3, 0x0894, 0x00, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_1_TO_16 }, + /*001F*/ { ZYDIS_MNEMONIC_VCMPPD, 5, 0x03A0, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0020*/ { ZYDIS_MNEMONIC_VCMPPD, 5, 0x03A5, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0021*/ { ZYDIS_MNEMONIC_VCMPPD, 5, 0x03A5, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0022*/ { ZYDIS_MNEMONIC_VCMPPS, 5, 0x03AA, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0023*/ { ZYDIS_MNEMONIC_VCMPPS, 5, 0x03AF, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0024*/ { ZYDIS_MNEMONIC_VCMPPS, 5, 0x03AF, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0025*/ { ZYDIS_MNEMONIC_VCVTDQ2PD, 3, 0x08B8, 0x00, ZYDIS_MVEX_FUNC_SI_32_BCST, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0026*/ { ZYDIS_MNEMONIC_VCVTDQ2PD, 3, 0x08BC, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0027*/ { ZYDIS_MNEMONIC_VCVTDQ2PD, 3, 0x08BC, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0028*/ { ZYDIS_MNEMONIC_VCVTFXPNTDQ2PS, 4, 0x0894, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0029*/ { ZYDIS_MNEMONIC_VCVTFXPNTDQ2PS, 4, 0x0898, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*002A*/ { ZYDIS_MNEMONIC_VCVTFXPNTDQ2PS, 4, 0x0898, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*002B*/ { ZYDIS_MNEMONIC_VCVTFXPNTPD2DQ, 4, 0x089C, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*002C*/ { ZYDIS_MNEMONIC_VCVTFXPNTPD2DQ, 4, 0x08A0, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*002D*/ { ZYDIS_MNEMONIC_VCVTFXPNTPD2DQ, 4, 0x08A0, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*002E*/ { ZYDIS_MNEMONIC_VCVTFXPNTPD2UDQ, 4, 0x08A4, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*002F*/ { ZYDIS_MNEMONIC_VCVTFXPNTPD2UDQ, 4, 0x08A8, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0030*/ { ZYDIS_MNEMONIC_VCVTFXPNTPD2UDQ, 4, 0x08A8, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0031*/ { ZYDIS_MNEMONIC_VCVTFXPNTPS2DQ, 4, 0x089C, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0032*/ { ZYDIS_MNEMONIC_VCVTFXPNTPS2DQ, 4, 0x08AC, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0033*/ { ZYDIS_MNEMONIC_VCVTFXPNTPS2DQ, 4, 0x08AC, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0034*/ { ZYDIS_MNEMONIC_VCVTFXPNTPS2UDQ, 4, 0x08A4, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0035*/ { ZYDIS_MNEMONIC_VCVTFXPNTPS2UDQ, 4, 0x08B0, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0036*/ { ZYDIS_MNEMONIC_VCVTFXPNTPS2UDQ, 4, 0x08B0, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0037*/ { ZYDIS_MNEMONIC_VCVTFXPNTUDQ2PS, 4, 0x0894, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0038*/ { ZYDIS_MNEMONIC_VCVTFXPNTUDQ2PS, 4, 0x08B4, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0039*/ { ZYDIS_MNEMONIC_VCVTFXPNTUDQ2PS, 4, 0x08B4, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*003A*/ { ZYDIS_MNEMONIC_VCVTPD2PS, 3, 0x0894, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*003B*/ { ZYDIS_MNEMONIC_VCVTPD2PS, 3, 0x11B7, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*003C*/ { ZYDIS_MNEMONIC_VCVTPD2PS, 3, 0x11B7, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*003D*/ { ZYDIS_MNEMONIC_VCVTPS2PD, 3, 0x08B8, 0x00, ZYDIS_MVEX_FUNC_SF_32_BCST, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*003E*/ { ZYDIS_MNEMONIC_VCVTPS2PD, 3, 0x11BA, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*003F*/ { ZYDIS_MNEMONIC_VCVTPS2PD, 3, 0x11BA, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0040*/ { ZYDIS_MNEMONIC_VCVTUDQ2PD, 3, 0x08B8, 0x00, ZYDIS_MVEX_FUNC_SI_32_BCST, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0041*/ { ZYDIS_MNEMONIC_VCVTUDQ2PD, 3, 0x08BC, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0042*/ { ZYDIS_MNEMONIC_VCVTUDQ2PD, 3, 0x08BC, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0043*/ { ZYDIS_MNEMONIC_VEXP223PS, 3, 0x08CC, 0x00, ZYDIS_MVEX_FUNC_F_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0044*/ { ZYDIS_MNEMONIC_VEXP223PS, 3, 0x08D0, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0045*/ { ZYDIS_MNEMONIC_VEXP223PS, 3, 0x08D0, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0046*/ { ZYDIS_MNEMONIC_VFIXUPNANPD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SI_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0047*/ { ZYDIS_MNEMONIC_VFIXUPNANPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0048*/ { ZYDIS_MNEMONIC_VFIXUPNANPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0049*/ { ZYDIS_MNEMONIC_VFIXUPNANPS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*004A*/ { ZYDIS_MNEMONIC_VFIXUPNANPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*004B*/ { ZYDIS_MNEMONIC_VFIXUPNANPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*004C*/ { ZYDIS_MNEMONIC_VFMADD132PD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*004D*/ { ZYDIS_MNEMONIC_VFMADD132PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*004E*/ { ZYDIS_MNEMONIC_VFMADD132PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*004F*/ { ZYDIS_MNEMONIC_VFMADD132PS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0050*/ { ZYDIS_MNEMONIC_VFMADD132PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0051*/ { ZYDIS_MNEMONIC_VFMADD132PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0052*/ { ZYDIS_MNEMONIC_VFMADD213PD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0053*/ { ZYDIS_MNEMONIC_VFMADD213PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0054*/ { ZYDIS_MNEMONIC_VFMADD213PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0055*/ { ZYDIS_MNEMONIC_VFMADD213PS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0056*/ { ZYDIS_MNEMONIC_VFMADD213PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0057*/ { ZYDIS_MNEMONIC_VFMADD213PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0058*/ { ZYDIS_MNEMONIC_VFMADD231PD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0059*/ { ZYDIS_MNEMONIC_VFMADD231PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*005A*/ { ZYDIS_MNEMONIC_VFMADD231PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*005B*/ { ZYDIS_MNEMONIC_VFMADD231PS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*005C*/ { ZYDIS_MNEMONIC_VFMADD231PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*005D*/ { ZYDIS_MNEMONIC_VFMADD231PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*005E*/ { ZYDIS_MNEMONIC_VFMADD233PS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32_BCST_4TO16, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*005F*/ { ZYDIS_MNEMONIC_VFMADD233PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0060*/ { ZYDIS_MNEMONIC_VFMADD233PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0061*/ { ZYDIS_MNEMONIC_VFMSUB132PD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0062*/ { ZYDIS_MNEMONIC_VFMSUB132PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0063*/ { ZYDIS_MNEMONIC_VFMSUB132PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0064*/ { ZYDIS_MNEMONIC_VFMSUB132PS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0065*/ { ZYDIS_MNEMONIC_VFMSUB132PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0066*/ { ZYDIS_MNEMONIC_VFMSUB132PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0067*/ { ZYDIS_MNEMONIC_VFMSUB213PD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0068*/ { ZYDIS_MNEMONIC_VFMSUB213PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0069*/ { ZYDIS_MNEMONIC_VFMSUB213PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*006A*/ { ZYDIS_MNEMONIC_VFMSUB213PS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*006B*/ { ZYDIS_MNEMONIC_VFMSUB213PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*006C*/ { ZYDIS_MNEMONIC_VFMSUB213PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*006D*/ { ZYDIS_MNEMONIC_VFMSUB231PD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*006E*/ { ZYDIS_MNEMONIC_VFMSUB231PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*006F*/ { ZYDIS_MNEMONIC_VFMSUB231PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0070*/ { ZYDIS_MNEMONIC_VFMSUB231PS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0071*/ { ZYDIS_MNEMONIC_VFMSUB231PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0072*/ { ZYDIS_MNEMONIC_VFMSUB231PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0073*/ { ZYDIS_MNEMONIC_VFNMADD132PD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0074*/ { ZYDIS_MNEMONIC_VFNMADD132PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0075*/ { ZYDIS_MNEMONIC_VFNMADD132PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0076*/ { ZYDIS_MNEMONIC_VFNMADD132PS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0077*/ { ZYDIS_MNEMONIC_VFNMADD132PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0078*/ { ZYDIS_MNEMONIC_VFNMADD132PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0079*/ { ZYDIS_MNEMONIC_VFNMADD213PD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*007A*/ { ZYDIS_MNEMONIC_VFNMADD213PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*007B*/ { ZYDIS_MNEMONIC_VFNMADD213PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*007C*/ { ZYDIS_MNEMONIC_VFNMADD213PS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*007D*/ { ZYDIS_MNEMONIC_VFNMADD213PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*007E*/ { ZYDIS_MNEMONIC_VFNMADD213PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*007F*/ { ZYDIS_MNEMONIC_VFNMADD231PD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0080*/ { ZYDIS_MNEMONIC_VFNMADD231PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0081*/ { ZYDIS_MNEMONIC_VFNMADD231PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0082*/ { ZYDIS_MNEMONIC_VFNMADD231PS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0083*/ { ZYDIS_MNEMONIC_VFNMADD231PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0084*/ { ZYDIS_MNEMONIC_VFNMADD231PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0085*/ { ZYDIS_MNEMONIC_VFNMSUB132PD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0086*/ { ZYDIS_MNEMONIC_VFNMSUB132PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0087*/ { ZYDIS_MNEMONIC_VFNMSUB132PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0088*/ { ZYDIS_MNEMONIC_VFNMSUB132PS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0089*/ { ZYDIS_MNEMONIC_VFNMSUB132PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*008A*/ { ZYDIS_MNEMONIC_VFNMSUB132PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*008B*/ { ZYDIS_MNEMONIC_VFNMSUB213PD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*008C*/ { ZYDIS_MNEMONIC_VFNMSUB213PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*008D*/ { ZYDIS_MNEMONIC_VFNMSUB213PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*008E*/ { ZYDIS_MNEMONIC_VFNMSUB213PS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*008F*/ { ZYDIS_MNEMONIC_VFNMSUB213PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0090*/ { ZYDIS_MNEMONIC_VFNMSUB213PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0091*/ { ZYDIS_MNEMONIC_VFNMSUB231PD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0092*/ { ZYDIS_MNEMONIC_VFNMSUB231PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0093*/ { ZYDIS_MNEMONIC_VFNMSUB231PD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0094*/ { ZYDIS_MNEMONIC_VFNMSUB231PS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0095*/ { ZYDIS_MNEMONIC_VFNMSUB231PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0096*/ { ZYDIS_MNEMONIC_VFNMSUB231PS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0097*/ { ZYDIS_MNEMONIC_VGATHERDPD, 3, 0x11BD, 0x00, ZYDIS_MVEX_FUNC_UF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0098*/ { ZYDIS_MNEMONIC_VGATHERDPS, 3, 0x11C0, 0x00, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0099*/ { ZYDIS_MNEMONIC_VGATHERPF0DPS, 2, 0x16C8, 0x00, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*009A*/ { ZYDIS_MNEMONIC_VGATHERPF0HINTDPD, 2, 0x16C8, 0x00, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*009B*/ { ZYDIS_MNEMONIC_VGATHERPF0HINTDPS, 2, 0x16C8, 0x00, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*009C*/ { ZYDIS_MNEMONIC_VGATHERPF1DPS, 2, 0x16C8, 0x00, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*009D*/ { ZYDIS_MNEMONIC_VGETEXPPD, 3, 0x08B8, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*009E*/ { ZYDIS_MNEMONIC_VGETEXPPD, 3, 0x08BC, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*009F*/ { ZYDIS_MNEMONIC_VGETEXPPD, 3, 0x08BC, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00A0*/ { ZYDIS_MNEMONIC_VGETEXPPS, 3, 0x08B8, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00A1*/ { ZYDIS_MNEMONIC_VGETEXPPS, 3, 0x11BA, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00A2*/ { ZYDIS_MNEMONIC_VGETEXPPS, 3, 0x11BA, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00A3*/ { ZYDIS_MNEMONIC_VGETMANTPD, 4, 0x08B8, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00A4*/ { ZYDIS_MNEMONIC_VGETMANTPD, 4, 0x08BC, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00A5*/ { ZYDIS_MNEMONIC_VGETMANTPD, 4, 0x08BC, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00A6*/ { ZYDIS_MNEMONIC_VGETMANTPS, 4, 0x0894, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00A7*/ { ZYDIS_MNEMONIC_VGETMANTPS, 4, 0x08C0, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00A8*/ { ZYDIS_MNEMONIC_VGETMANTPS, 4, 0x08C0, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00A9*/ { ZYDIS_MNEMONIC_VGMAXABSPS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00AA*/ { ZYDIS_MNEMONIC_VGMAXABSPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00AB*/ { ZYDIS_MNEMONIC_VGMAXABSPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00AC*/ { ZYDIS_MNEMONIC_VGMAXPD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00AD*/ { ZYDIS_MNEMONIC_VGMAXPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00AE*/ { ZYDIS_MNEMONIC_VGMAXPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00AF*/ { ZYDIS_MNEMONIC_VGMAXPS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00B0*/ { ZYDIS_MNEMONIC_VGMAXPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00B1*/ { ZYDIS_MNEMONIC_VGMAXPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00B2*/ { ZYDIS_MNEMONIC_VGMINPD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00B3*/ { ZYDIS_MNEMONIC_VGMINPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00B4*/ { ZYDIS_MNEMONIC_VGMINPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00B5*/ { ZYDIS_MNEMONIC_VGMINPS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00B6*/ { ZYDIS_MNEMONIC_VGMINPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00B7*/ { ZYDIS_MNEMONIC_VGMINPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00B8*/ { ZYDIS_MNEMONIC_VLOADUNPACKHD, 3, 0x089C, 0x00, ZYDIS_MVEX_FUNC_UI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00B9*/ { ZYDIS_MNEMONIC_VLOADUNPACKHPD, 3, 0x08B8, 0x00, ZYDIS_MVEX_FUNC_UF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00BA*/ { ZYDIS_MNEMONIC_VLOADUNPACKHPS, 3, 0x0894, 0x00, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00BB*/ { ZYDIS_MNEMONIC_VLOADUNPACKHQ, 3, 0x11B4, 0x00, ZYDIS_MVEX_FUNC_UI_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00BC*/ { ZYDIS_MNEMONIC_VLOADUNPACKLD, 3, 0x089C, 0x00, ZYDIS_MVEX_FUNC_UI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00BD*/ { ZYDIS_MNEMONIC_VLOADUNPACKLPD, 3, 0x08B8, 0x00, ZYDIS_MVEX_FUNC_UF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00BE*/ { ZYDIS_MNEMONIC_VLOADUNPACKLPS, 3, 0x0894, 0x00, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00BF*/ { ZYDIS_MNEMONIC_VLOADUNPACKLQ, 3, 0x11B4, 0x00, ZYDIS_MVEX_FUNC_UI_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00C0*/ { ZYDIS_MNEMONIC_VLOG2PS, 3, 0x08CC, 0x00, ZYDIS_MVEX_FUNC_F_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00C1*/ { ZYDIS_MNEMONIC_VLOG2PS, 3, 0x08D0, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00C2*/ { ZYDIS_MNEMONIC_VLOG2PS, 3, 0x08D0, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00C3*/ { ZYDIS_MNEMONIC_VMOVAPD, 3, 0x08B8, 0x00, ZYDIS_MVEX_FUNC_UF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00C4*/ { ZYDIS_MNEMONIC_VMOVAPD, 3, 0x08BC, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00C5*/ { ZYDIS_MNEMONIC_VMOVAPD, 3, 0x08BC, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00C6*/ { ZYDIS_MNEMONIC_VMOVAPD, 3, 0x11C3, 0x00, ZYDIS_MVEX_FUNC_DF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00C7*/ { ZYDIS_MNEMONIC_VMOVAPS, 3, 0x0894, 0x00, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00C8*/ { ZYDIS_MNEMONIC_VMOVAPS, 3, 0x08C0, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00C9*/ { ZYDIS_MNEMONIC_VMOVAPS, 3, 0x08C0, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00CA*/ { ZYDIS_MNEMONIC_VMOVAPS, 3, 0x11C6, 0x00, ZYDIS_MVEX_FUNC_DF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00CB*/ { ZYDIS_MNEMONIC_VMOVDQA32, 3, 0x089C, 0x00, ZYDIS_MVEX_FUNC_UI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00CC*/ { ZYDIS_MNEMONIC_VMOVDQA32, 3, 0x08D0, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00CD*/ { ZYDIS_MNEMONIC_VMOVDQA32, 3, 0x08D0, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00CE*/ { ZYDIS_MNEMONIC_VMOVDQA32, 3, 0x11C9, 0x00, ZYDIS_MVEX_FUNC_DI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00CF*/ { ZYDIS_MNEMONIC_VMOVDQA64, 3, 0x11B4, 0x00, ZYDIS_MVEX_FUNC_UI_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00D0*/ { ZYDIS_MNEMONIC_VMOVDQA64, 3, 0x11CC, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00D1*/ { ZYDIS_MNEMONIC_VMOVDQA64, 3, 0x11CC, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00D2*/ { ZYDIS_MNEMONIC_VMOVDQA64, 3, 0x11CF, 0x00, ZYDIS_MVEX_FUNC_DI_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00D3*/ { ZYDIS_MNEMONIC_VMOVNRAPD, 3, 0x11D2, 0x00, ZYDIS_MVEX_FUNC_DF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00D4*/ { ZYDIS_MNEMONIC_VMOVNRAPS, 3, 0x11D5, 0x00, ZYDIS_MVEX_FUNC_DF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00D5*/ { ZYDIS_MNEMONIC_VMOVNRNGOAPD, 3, 0x11D2, 0x00, ZYDIS_MVEX_FUNC_DF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00D6*/ { ZYDIS_MNEMONIC_VMOVNRNGOAPS, 3, 0x11D5, 0x00, ZYDIS_MVEX_FUNC_DF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00D7*/ { ZYDIS_MNEMONIC_VMULPD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00D8*/ { ZYDIS_MNEMONIC_VMULPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00D9*/ { ZYDIS_MNEMONIC_VMULPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00DA*/ { ZYDIS_MNEMONIC_VMULPS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00DB*/ { ZYDIS_MNEMONIC_VMULPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00DC*/ { ZYDIS_MNEMONIC_VMULPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00DD*/ { ZYDIS_MNEMONIC_VPACKSTOREHD, 3, 0x11C9, 0x00, ZYDIS_MVEX_FUNC_DI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00DE*/ { ZYDIS_MNEMONIC_VPACKSTOREHPD, 3, 0x11D8, 0x00, ZYDIS_MVEX_FUNC_DF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00DF*/ { ZYDIS_MNEMONIC_VPACKSTOREHPS, 3, 0x11C6, 0x00, ZYDIS_MVEX_FUNC_DF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00E0*/ { ZYDIS_MNEMONIC_VPACKSTOREHQ, 3, 0x11DB, 0x00, ZYDIS_MVEX_FUNC_DI_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00E1*/ { ZYDIS_MNEMONIC_VPACKSTORELD, 3, 0x11C9, 0x00, ZYDIS_MVEX_FUNC_DI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00E2*/ { ZYDIS_MNEMONIC_VPACKSTORELPD, 3, 0x11D8, 0x00, ZYDIS_MVEX_FUNC_DF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00E3*/ { ZYDIS_MNEMONIC_VPACKSTORELPS, 3, 0x11C6, 0x00, ZYDIS_MVEX_FUNC_DF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00E4*/ { ZYDIS_MNEMONIC_VPACKSTORELQ, 3, 0x11DB, 0x00, ZYDIS_MVEX_FUNC_DI_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_TRUE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00E5*/ { ZYDIS_MNEMONIC_VPADCD, 4, 0x08C4, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00E6*/ { ZYDIS_MNEMONIC_VPADCD, 4, 0x08C8, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00E7*/ { ZYDIS_MNEMONIC_VPADCD, 4, 0x08C8, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00E8*/ { ZYDIS_MNEMONIC_VPADDD, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00E9*/ { ZYDIS_MNEMONIC_VPADDD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00EA*/ { ZYDIS_MNEMONIC_VPADDD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00EB*/ { ZYDIS_MNEMONIC_VPADDSETCD, 4, 0x08C4, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00EC*/ { ZYDIS_MNEMONIC_VPADDSETCD, 4, 0x08C8, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00ED*/ { ZYDIS_MNEMONIC_VPADDSETCD, 4, 0x08C8, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00EE*/ { ZYDIS_MNEMONIC_VPADDSETSD, 4, 0x0890, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00EF*/ { ZYDIS_MNEMONIC_VPADDSETSD, 4, 0x088C, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00F0*/ { ZYDIS_MNEMONIC_VPADDSETSD, 4, 0x088C, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00F1*/ { ZYDIS_MNEMONIC_VPANDD, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00F2*/ { ZYDIS_MNEMONIC_VPANDD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00F3*/ { ZYDIS_MNEMONIC_VPANDD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00F4*/ { ZYDIS_MNEMONIC_VPANDND, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00F5*/ { ZYDIS_MNEMONIC_VPANDND, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00F6*/ { ZYDIS_MNEMONIC_VPANDND, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00F7*/ { ZYDIS_MNEMONIC_VPANDNQ, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SI_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00F8*/ { ZYDIS_MNEMONIC_VPANDNQ, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00F9*/ { ZYDIS_MNEMONIC_VPANDNQ, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00FA*/ { ZYDIS_MNEMONIC_VPANDQ, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SI_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00FB*/ { ZYDIS_MNEMONIC_VPANDQ, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00FC*/ { ZYDIS_MNEMONIC_VPANDQ, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00FD*/ { ZYDIS_MNEMONIC_VPBLENDMD, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00FE*/ { ZYDIS_MNEMONIC_VPBLENDMD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*00FF*/ { ZYDIS_MNEMONIC_VPBLENDMD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0100*/ { ZYDIS_MNEMONIC_VPBLENDMQ, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SI_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0101*/ { ZYDIS_MNEMONIC_VPBLENDMQ, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0102*/ { ZYDIS_MNEMONIC_VPBLENDMQ, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0103*/ { ZYDIS_MNEMONIC_VPBROADCASTD, 3, 0x089C, 0x00, ZYDIS_MVEX_FUNC_UI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_1_TO_16 }, + /*0104*/ { ZYDIS_MNEMONIC_VPBROADCASTQ, 3, 0x11B4, 0x00, ZYDIS_MVEX_FUNC_UF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_1_TO_8 }, + /*0105*/ { ZYDIS_MNEMONIC_VPCMPD, 5, 0x03B4, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0106*/ { ZYDIS_MNEMONIC_VPCMPD, 5, 0x03B9, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0107*/ { ZYDIS_MNEMONIC_VPCMPD, 5, 0x03B9, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0108*/ { ZYDIS_MNEMONIC_VPCMPEQD, 4, 0x03B4, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0109*/ { ZYDIS_MNEMONIC_VPCMPEQD, 4, 0x03B9, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*010A*/ { ZYDIS_MNEMONIC_VPCMPEQD, 4, 0x03B9, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*010B*/ { ZYDIS_MNEMONIC_VPCMPGTD, 4, 0x03B4, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*010C*/ { ZYDIS_MNEMONIC_VPCMPGTD, 4, 0x03B9, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*010D*/ { ZYDIS_MNEMONIC_VPCMPGTD, 4, 0x03B9, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*010E*/ { ZYDIS_MNEMONIC_VPCMPLTD, 4, 0x03B4, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*010F*/ { ZYDIS_MNEMONIC_VPCMPLTD, 4, 0x03B9, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0110*/ { ZYDIS_MNEMONIC_VPCMPLTD, 4, 0x03B9, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0111*/ { ZYDIS_MNEMONIC_VPCMPUD, 5, 0x03BE, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0112*/ { ZYDIS_MNEMONIC_VPCMPUD, 5, 0x03C3, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0113*/ { ZYDIS_MNEMONIC_VPCMPUD, 5, 0x03C3, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0114*/ { ZYDIS_MNEMONIC_VPERMD, 4, 0x0396, 0x00, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0115*/ { ZYDIS_MNEMONIC_VPERMD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0116*/ { ZYDIS_MNEMONIC_VPERMF32X4, 4, 0x08CC, 0x00, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0117*/ { ZYDIS_MNEMONIC_VPERMF32X4, 4, 0x08D0, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0118*/ { ZYDIS_MNEMONIC_VPERMF32X4, 4, 0x08D0, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0119*/ { ZYDIS_MNEMONIC_VPGATHERDD, 3, 0x11DE, 0x00, ZYDIS_MVEX_FUNC_UI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*011A*/ { ZYDIS_MNEMONIC_VPGATHERDQ, 3, 0x11E1, 0x00, ZYDIS_MVEX_FUNC_UI_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*011B*/ { ZYDIS_MNEMONIC_VPMADD231D, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*011C*/ { ZYDIS_MNEMONIC_VPMADD231D, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*011D*/ { ZYDIS_MNEMONIC_VPMADD231D, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*011E*/ { ZYDIS_MNEMONIC_VPMADD233D, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32_BCST_4TO16, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*011F*/ { ZYDIS_MNEMONIC_VPMADD233D, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0120*/ { ZYDIS_MNEMONIC_VPMADD233D, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0121*/ { ZYDIS_MNEMONIC_VPMAXSD, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0122*/ { ZYDIS_MNEMONIC_VPMAXSD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0123*/ { ZYDIS_MNEMONIC_VPMAXSD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0124*/ { ZYDIS_MNEMONIC_VPMAXUD, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0125*/ { ZYDIS_MNEMONIC_VPMAXUD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0126*/ { ZYDIS_MNEMONIC_VPMAXUD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0127*/ { ZYDIS_MNEMONIC_VPMINSD, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0128*/ { ZYDIS_MNEMONIC_VPMINSD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0129*/ { ZYDIS_MNEMONIC_VPMINSD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*012A*/ { ZYDIS_MNEMONIC_VPMINUD, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*012B*/ { ZYDIS_MNEMONIC_VPMINUD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*012C*/ { ZYDIS_MNEMONIC_VPMINUD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*012D*/ { ZYDIS_MNEMONIC_VPMULHD, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*012E*/ { ZYDIS_MNEMONIC_VPMULHD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*012F*/ { ZYDIS_MNEMONIC_VPMULHD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0130*/ { ZYDIS_MNEMONIC_VPMULHUD, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0131*/ { ZYDIS_MNEMONIC_VPMULHUD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0132*/ { ZYDIS_MNEMONIC_VPMULHUD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0133*/ { ZYDIS_MNEMONIC_VPMULLD, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0134*/ { ZYDIS_MNEMONIC_VPMULLD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0135*/ { ZYDIS_MNEMONIC_VPMULLD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0136*/ { ZYDIS_MNEMONIC_VPORD, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0137*/ { ZYDIS_MNEMONIC_VPORD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0138*/ { ZYDIS_MNEMONIC_VPORD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0139*/ { ZYDIS_MNEMONIC_VPORQ, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SI_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*013A*/ { ZYDIS_MNEMONIC_VPORQ, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*013B*/ { ZYDIS_MNEMONIC_VPORQ, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*013C*/ { ZYDIS_MNEMONIC_VPREFETCH0, 1, 0x16CA, 0x00, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_INVALID, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*013D*/ { ZYDIS_MNEMONIC_VPREFETCH1, 1, 0x16CA, 0x00, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_INVALID, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*013E*/ { ZYDIS_MNEMONIC_VPREFETCH2, 1, 0x16CA, 0x00, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_INVALID, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*013F*/ { ZYDIS_MNEMONIC_VPREFETCHE0, 1, 0x16CA, 0x00, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_INVALID, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0140*/ { ZYDIS_MNEMONIC_VPREFETCHE1, 1, 0x16CA, 0x00, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_INVALID, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0141*/ { ZYDIS_MNEMONIC_VPREFETCHE2, 1, 0x16CA, 0x00, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_INVALID, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0142*/ { ZYDIS_MNEMONIC_VPREFETCHENTA, 1, 0x16CA, 0x00, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_INVALID, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0143*/ { ZYDIS_MNEMONIC_VPREFETCHNTA, 1, 0x16CA, 0x00, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_INVALID, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0144*/ { ZYDIS_MNEMONIC_VPSBBD, 4, 0x08C4, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0145*/ { ZYDIS_MNEMONIC_VPSBBD, 4, 0x08C8, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0146*/ { ZYDIS_MNEMONIC_VPSBBD, 4, 0x08C8, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0147*/ { ZYDIS_MNEMONIC_VPSBBRD, 4, 0x08C4, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0148*/ { ZYDIS_MNEMONIC_VPSBBRD, 4, 0x08C8, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0149*/ { ZYDIS_MNEMONIC_VPSBBRD, 4, 0x08C8, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*014A*/ { ZYDIS_MNEMONIC_VPSCATTERDD, 3, 0x11E4, 0x00, ZYDIS_MVEX_FUNC_DI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*014B*/ { ZYDIS_MNEMONIC_VPSCATTERDQ, 3, 0x11E7, 0x00, ZYDIS_MVEX_FUNC_DI_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*014C*/ { ZYDIS_MNEMONIC_VPSHUFD, 4, 0x08CC, 0x00, ZYDIS_MVEX_FUNC_F_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*014D*/ { ZYDIS_MNEMONIC_VPSHUFD, 4, 0x08D0, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*014E*/ { ZYDIS_MNEMONIC_VPSHUFD, 4, 0x08D0, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*014F*/ { ZYDIS_MNEMONIC_VPSLLD, 4, 0x08D4, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0150*/ { ZYDIS_MNEMONIC_VPSLLD, 4, 0x08D4, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0151*/ { ZYDIS_MNEMONIC_VPSLLD, 4, 0x08D8, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0152*/ { ZYDIS_MNEMONIC_VPSLLVD, 4, 0x08DC, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0153*/ { ZYDIS_MNEMONIC_VPSLLVD, 4, 0x08E0, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0154*/ { ZYDIS_MNEMONIC_VPSLLVD, 4, 0x08E0, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0155*/ { ZYDIS_MNEMONIC_VPSRAD, 4, 0x08D4, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0156*/ { ZYDIS_MNEMONIC_VPSRAD, 4, 0x08D4, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0157*/ { ZYDIS_MNEMONIC_VPSRAD, 4, 0x08D8, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0158*/ { ZYDIS_MNEMONIC_VPSRAVD, 4, 0x08DC, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0159*/ { ZYDIS_MNEMONIC_VPSRAVD, 4, 0x08E0, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*015A*/ { ZYDIS_MNEMONIC_VPSRAVD, 4, 0x08E0, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*015B*/ { ZYDIS_MNEMONIC_VPSRLD, 4, 0x08D4, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*015C*/ { ZYDIS_MNEMONIC_VPSRLD, 4, 0x08D4, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*015D*/ { ZYDIS_MNEMONIC_VPSRLD, 4, 0x08D8, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*015E*/ { ZYDIS_MNEMONIC_VPSRLVD, 4, 0x08DC, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*015F*/ { ZYDIS_MNEMONIC_VPSRLVD, 4, 0x08E0, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0160*/ { ZYDIS_MNEMONIC_VPSRLVD, 4, 0x08E0, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0161*/ { ZYDIS_MNEMONIC_VPSUBD, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0162*/ { ZYDIS_MNEMONIC_VPSUBD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0163*/ { ZYDIS_MNEMONIC_VPSUBD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0164*/ { ZYDIS_MNEMONIC_VPSUBRD, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0165*/ { ZYDIS_MNEMONIC_VPSUBRD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0166*/ { ZYDIS_MNEMONIC_VPSUBRD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0167*/ { ZYDIS_MNEMONIC_VPSUBRSETBD, 4, 0x08C4, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0168*/ { ZYDIS_MNEMONIC_VPSUBRSETBD, 4, 0x08C8, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0169*/ { ZYDIS_MNEMONIC_VPSUBRSETBD, 4, 0x08C8, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*016A*/ { ZYDIS_MNEMONIC_VPSUBSETBD, 4, 0x08C4, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*016B*/ { ZYDIS_MNEMONIC_VPSUBSETBD, 4, 0x08C8, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*016C*/ { ZYDIS_MNEMONIC_VPSUBSETBD, 4, 0x08C8, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*016D*/ { ZYDIS_MNEMONIC_VPTESTMD, 4, 0x03B4, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*016E*/ { ZYDIS_MNEMONIC_VPTESTMD, 4, 0x03B9, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*016F*/ { ZYDIS_MNEMONIC_VPTESTMD, 4, 0x03B9, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0170*/ { ZYDIS_MNEMONIC_VPXORD, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0171*/ { ZYDIS_MNEMONIC_VPXORD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0172*/ { ZYDIS_MNEMONIC_VPXORD, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0173*/ { ZYDIS_MNEMONIC_VPXORQ, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SI_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0174*/ { ZYDIS_MNEMONIC_VPXORQ, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0175*/ { ZYDIS_MNEMONIC_VPXORQ, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0176*/ { ZYDIS_MNEMONIC_VRCP23PS, 3, 0x08CC, 0x00, ZYDIS_MVEX_FUNC_F_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0177*/ { ZYDIS_MNEMONIC_VRCP23PS, 3, 0x08D0, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0178*/ { ZYDIS_MNEMONIC_VRCP23PS, 3, 0x08D0, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0179*/ { ZYDIS_MNEMONIC_VRNDFXPNTPD, 4, 0x08B8, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*017A*/ { ZYDIS_MNEMONIC_VRNDFXPNTPD, 4, 0x08BC, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*017B*/ { ZYDIS_MNEMONIC_VRNDFXPNTPD, 4, 0x08BC, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*017C*/ { ZYDIS_MNEMONIC_VRNDFXPNTPS, 4, 0x0894, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*017D*/ { ZYDIS_MNEMONIC_VRNDFXPNTPS, 4, 0x08C0, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*017E*/ { ZYDIS_MNEMONIC_VRNDFXPNTPS, 4, 0x08C0, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*017F*/ { ZYDIS_MNEMONIC_VRSQRT23PS, 3, 0x08CC, 0x00, ZYDIS_MVEX_FUNC_F_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0180*/ { ZYDIS_MNEMONIC_VRSQRT23PS, 3, 0x08D0, 0x00, ZYDIS_MVEX_FUNC_SAE, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0181*/ { ZYDIS_MNEMONIC_VRSQRT23PS, 3, 0x08D0, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0182*/ { ZYDIS_MNEMONIC_VSCALEPS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SI_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0183*/ { ZYDIS_MNEMONIC_VSCALEPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0184*/ { ZYDIS_MNEMONIC_VSCALEPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_INVALID, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0185*/ { ZYDIS_MNEMONIC_VSCATTERDPD, 3, 0x11EA, 0x00, ZYDIS_MVEX_FUNC_DF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0186*/ { ZYDIS_MNEMONIC_VSCATTERDPS, 3, 0x11ED, 0x00, ZYDIS_MVEX_FUNC_DF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0187*/ { ZYDIS_MNEMONIC_VSCATTERPF0DPS, 2, 0x11E4, 0x00, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0188*/ { ZYDIS_MNEMONIC_VSCATTERPF0HINTDPD, 2, 0x11E4, 0x00, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0189*/ { ZYDIS_MNEMONIC_VSCATTERPF0HINTDPS, 2, 0x11E4, 0x00, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*018A*/ { ZYDIS_MNEMONIC_VSCATTERPF1DPS, 2, 0x11E4, 0x00, ZYDIS_MVEX_FUNC_UF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*018B*/ { ZYDIS_MNEMONIC_VSUBPD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*018C*/ { ZYDIS_MNEMONIC_VSUBPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*018D*/ { ZYDIS_MNEMONIC_VSUBPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*018E*/ { ZYDIS_MNEMONIC_VSUBPS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*018F*/ { ZYDIS_MNEMONIC_VSUBPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0190*/ { ZYDIS_MNEMONIC_VSUBPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0191*/ { ZYDIS_MNEMONIC_VSUBRPD, 4, 0x0880, 0x00, ZYDIS_MVEX_FUNC_SF_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0192*/ { ZYDIS_MNEMONIC_VSUBRPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_64, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0193*/ { ZYDIS_MNEMONIC_VSUBRPD, 4, 0x0884, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0194*/ { ZYDIS_MNEMONIC_VSUBRPS, 4, 0x0888, 0x00, ZYDIS_MVEX_FUNC_SF_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0195*/ { ZYDIS_MNEMONIC_VSUBRPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_SWIZZLE_32, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE }, + /*0196*/ { ZYDIS_MNEMONIC_VSUBRPS, 4, 0x039B, 0x00, ZYDIS_MVEX_FUNC_RC, ZYDIS_MASK_POLICY_ALLOWED, ZYDIS_FALSE, ZYDIS_MVEX_STATIC_BROADCAST_NONE } }; diff --git a/include/Zydis/Internal/InstructionTable.h b/include/Zydis/Internal/InstructionTable.h index 4749c43..6c73cab 100644 --- a/include/Zydis/Internal/InstructionTable.h +++ b/include/Zydis/Internal/InstructionTable.h @@ -541,6 +541,25 @@ enum ZydisMVEXFunctionalities /* ---------------------------------------------------------------------------------------------- */ +/** + * @brief Defines the @c ZydisMVEXStaticBroadcast datatype. + */ +typedef uint8_t ZydisMVEXStaticBroadcast; + +/** + * @brief Values that represent static MVEX-broadcasts. + */ +enum ZydisMVEXStaticBroadcasts +{ + ZYDIS_MVEX_STATIC_BROADCAST_NONE, + ZYDIS_MVEX_STATIC_BROADCAST_1_TO_8, + ZYDIS_MVEX_STATIC_BROADCAST_1_TO_16, + ZYDIS_MVEX_STATIC_BROADCAST_4_TO_8, + ZYDIS_MVEX_STATIC_BROADCAST_4_TO_16 +}; + +/* ---------------------------------------------------------------------------------------------- */ + /** * @brief Defines the @c ZydisMaskPolicy datatype. */ @@ -629,6 +648,7 @@ typedef struct ZydisInstructionDefinitionMVEX_ ZydisMVEXFunctionality functionality : 5; ZydisMaskPolicy maskPolicy : 2; ZydisBool hasElementGranularity : 1; + ZydisMVEXStaticBroadcast broadcast : 3; } ZydisInstructionDefinitionMVEX; /* ---------------------------------------------------------------------------------------------- */ diff --git a/src/Decoder.c b/src/Decoder.c index 9df69f7..ad6b2ec 100644 --- a/src/Decoder.c +++ b/src/Decoder.c @@ -1010,7 +1010,7 @@ static void ZydisSetOperandSizeAndElementInfo(ZydisDecoderContext* context, switch (context->evex.tupleType) { case ZYDIS_TUPLETYPE_FV: - if (info->avx.broadcastMode) + if (info->avx.broadcast.mode) { operand->size = context->evex.elementSize; } else @@ -1019,7 +1019,7 @@ static void ZydisSetOperandSizeAndElementInfo(ZydisDecoderContext* context, } break; case ZYDIS_TUPLETYPE_HV: - if (info->avx.broadcastMode) + if (info->avx.broadcast.mode) { operand->size = context->evex.elementSize; } else @@ -1042,10 +1042,11 @@ static void ZydisSetOperandSizeAndElementInfo(ZydisDecoderContext* context, { ZYDIS_ASSERT(definition->elementType == ZYDIS_IELEMENT_TYPE_VARIABLE); ZYDIS_ASSERT(info->avx.vectorLength == 512); + switch (info->avx.conversionMode) { case ZYDIS_CONVERSION_MODE_INVALID: - // Element size + operand->size = 512; switch (context->mvex.functionality) { case ZYDIS_MVEX_FUNC_SF_32: @@ -1079,22 +1080,6 @@ static void ZydisSetOperandSizeAndElementInfo(ZydisDecoderContext* context, default: ZYDIS_UNREACHABLE; } - switch (info->avx.broadcastMode) - { - case ZYDIS_BROADCAST_MODE_INVALID: - operand->size = 512; - break; - case ZYDIS_BROADCAST_MODE_1_TO_8: - case ZYDIS_BROADCAST_MODE_1_TO_16: - operand->size = operand->elementSize; - break; - case ZYDIS_BROADCAST_MODE_4_TO_8: - case ZYDIS_BROADCAST_MODE_4_TO_16: - operand->size = operand->elementSize * 4; - break; - default: - ZYDIS_UNREACHABLE; - } break; case ZYDIS_CONVERSION_MODE_FLOAT16: operand->size = 256; @@ -1124,6 +1109,23 @@ static void ZydisSetOperandSizeAndElementInfo(ZydisDecoderContext* context, default: ZYDIS_UNREACHABLE; } + + switch (info->avx.broadcast.mode) + { + case ZYDIS_BROADCAST_MODE_INVALID: + // Nothing to do here + break; + case ZYDIS_BROADCAST_MODE_1_TO_8: + case ZYDIS_BROADCAST_MODE_1_TO_16: + operand->size = operand->elementSize; + break; + case ZYDIS_BROADCAST_MODE_4_TO_8: + case ZYDIS_BROADCAST_MODE_4_TO_16: + operand->size = operand->elementSize * 4; + break; + default: + ZYDIS_UNREACHABLE; + } } break; default: @@ -2337,13 +2339,13 @@ static void ZydisSetAVXInformation(ZydisDecoderContext* context, switch (info->avx.vectorLength) { case 128: - info->avx.broadcastMode = ZYDIS_BROADCAST_MODE_1_TO_4; + info->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_1_TO_4; break; case 256: - info->avx.broadcastMode = ZYDIS_BROADCAST_MODE_1_TO_8; + info->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_1_TO_8; break; case 512: - info->avx.broadcastMode = ZYDIS_BROADCAST_MODE_1_TO_16; + info->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_1_TO_16; break; default: ZYDIS_UNREACHABLE; @@ -2355,13 +2357,13 @@ static void ZydisSetAVXInformation(ZydisDecoderContext* context, switch (info->avx.vectorLength) { case 128: - info->avx.broadcastMode = ZYDIS_BROADCAST_MODE_1_TO_2; + info->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_1_TO_2; break; case 256: - info->avx.broadcastMode = ZYDIS_BROADCAST_MODE_1_TO_4; + info->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_1_TO_4; break; case 512: - info->avx.broadcastMode = ZYDIS_BROADCAST_MODE_1_TO_8; + info->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_1_TO_8; break; default: ZYDIS_UNREACHABLE; @@ -2400,13 +2402,13 @@ static void ZydisSetAVXInformation(ZydisDecoderContext* context, switch (info->avx.vectorLength) { case 128: - info->avx.broadcastMode = ZYDIS_BROADCAST_MODE_1_TO_2; + info->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_1_TO_2; break; case 256: - info->avx.broadcastMode = ZYDIS_BROADCAST_MODE_1_TO_4; + info->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_1_TO_4; break; case 512: - info->avx.broadcastMode = ZYDIS_BROADCAST_MODE_1_TO_8; + info->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_1_TO_8; break; default: ZYDIS_UNREACHABLE; @@ -2578,7 +2580,6 @@ static void ZydisSetAVXInformation(ZydisDecoderContext* context, } } else { - // TODO: Add tuple type to register-only definitions or remove it from the info struct ZYDIS_ASSERT(info->details.modrm.mod == 3); } @@ -2612,10 +2613,36 @@ static void ZydisSetAVXInformation(ZydisDecoderContext* context, info->avx.vectorLength = ZYDIS_VECTOR_LENGTH_512; const ZydisInstructionDefinitionMVEX* def = - (const ZydisInstructionDefinitionMVEX*)definition; + (const ZydisInstructionDefinitionMVEX*)definition; - // Compressed disp8 scale + // Compressed disp8 scale and broadcast-factor uint8_t index = def->hasElementGranularity; + ZYDIS_ASSERT(!index || !def->broadcast); + if (!index && def->broadcast) + { + info->avx.broadcast.isStatic = ZYDIS_TRUE; + switch (def->broadcast) + { + case ZYDIS_MVEX_STATIC_BROADCAST_1_TO_8: + info->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_1_TO_8; + index = 1; + break; + case ZYDIS_MVEX_STATIC_BROADCAST_1_TO_16: + info->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_1_TO_16; + index = 1; + break; + case ZYDIS_MVEX_STATIC_BROADCAST_4_TO_8: + info->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_4_TO_8; + index = 2; + break; + case ZYDIS_MVEX_STATIC_BROADCAST_4_TO_16: + info->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_4_TO_16; + index = 2; + break; + default: + ZYDIS_UNREACHABLE; + } + } switch (def->functionality) { case ZYDIS_MVEX_FUNC_INVALID: @@ -2732,13 +2759,13 @@ static void ZydisSetAVXInformation(ZydisDecoderContext* context, case 0: break; case 1: - info->avx.broadcastMode = ZYDIS_BROADCAST_MODE_1_TO_16; + info->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_1_TO_16; break; case 2: - info->avx.broadcastMode = ZYDIS_BROADCAST_MODE_4_TO_16; + info->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_4_TO_16; break; case 3: - info->avx.conversionMode = ZYDIS_CONVERSION_MODE_FLOAT16; + info->avx.conversionMode = ZYDIS_CONVERSION_MODE_FLOAT16; break; case 4: info->avx.conversionMode = ZYDIS_CONVERSION_MODE_UINT8; @@ -2761,10 +2788,10 @@ static void ZydisSetAVXInformation(ZydisDecoderContext* context, case 0: break; case 1: - info->avx.broadcastMode = ZYDIS_BROADCAST_MODE_1_TO_16; + info->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_1_TO_16; break; case 2: - info->avx.broadcastMode = ZYDIS_BROADCAST_MODE_4_TO_16; + info->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_4_TO_16; break; case 4: info->avx.conversionMode = ZYDIS_CONVERSION_MODE_UINT8; @@ -2789,10 +2816,10 @@ static void ZydisSetAVXInformation(ZydisDecoderContext* context, case 0: break; case 1: - info->avx.broadcastMode = ZYDIS_BROADCAST_MODE_1_TO_8; + info->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_1_TO_8; break; case 2: - info->avx.broadcastMode = ZYDIS_BROADCAST_MODE_4_TO_8; + info->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_4_TO_8; break; default: ZYDIS_UNREACHABLE;