x86: drop EVEX table entries that can be served by VEX ones
[deliverable/binutils-gdb.git] / opcodes / i386-dis-evex-w.h
index 2adfde9650f0d4b248668bf0b7e833978be2ae19..dd3caad33c03488afebe774f7ef2a0a2feffd8d0 100644 (file)
@@ -1,60 +1,20 @@
-  /* EVEX_W_0F10_P_0 */
+  /* EVEX_W_0F10_P_1 */
   {
-    { "vmovups",       { XM, EXEvexXNoBcst }, 0 },
+    { "vmovss",        { XMVexScalar, VexScalar, EXxmm_md }, 0 },
   },
-  /* EVEX_W_0F10_P_1_M_0 */
-  {
-    { "vmovss",        { XMScalar, EXdScalar }, 0 },
-  },
-  /* EVEX_W_0F10_P_1_M_1 */
-  {
-    { "vmovss",        { XMScalar, VexScalar, EXxmm_md }, 0 },
-  },
-  /* EVEX_W_0F10_P_2 */
-  {
-    { Bad_Opcode },
-    { "vmovupd",       { XM, EXEvexXNoBcst }, 0 },
-  },
-  /* EVEX_W_0F10_P_3_M_0 */
-  {
-    { Bad_Opcode },
-    { "vmovsd",        { XMScalar, EXqScalar }, 0 },
-  },
-  /* EVEX_W_0F10_P_3_M_1 */
+  /* EVEX_W_0F10_P_3 */
   {
     { Bad_Opcode },
-    { "vmovsd",        { XMScalar, VexScalar, EXxmm_mq }, 0 },
+    { "vmovsd",        { XMVexScalar, VexScalar, EXxmm_mq }, 0 },
   },
-  /* EVEX_W_0F11_P_0 */
+  /* EVEX_W_0F11_P_1 */
   {
-    { "vmovups",       { EXxS, XM }, 0 },
-  },
-  /* EVEX_W_0F11_P_1_M_0 */
-  {
-    { "vmovss",        { EXdScalarS, XMScalar }, 0 },
-  },
-  /* EVEX_W_0F11_P_1_M_1 */
-  {
-    { "vmovss",        { EXxS, Vex, XMScalar }, 0 },
-  },
-  /* EVEX_W_0F11_P_2 */
-  {
-    { Bad_Opcode },
-    { "vmovupd",       { EXxS, XM }, 0 },
-  },
-  /* EVEX_W_0F11_P_3_M_0 */
-  {
-    { Bad_Opcode },
-    { "vmovsd",        { EXqScalarS, XMScalar }, 0 },
+    { "vmovss",        { EXdVexScalarS, VexScalar, XMScalar }, 0 },
   },
-  /* EVEX_W_0F11_P_3_M_1 */
+  /* EVEX_W_0F11_P_3 */
   {
     { Bad_Opcode },
-    { "vmovsd",        { EXxS, Vex, XMScalar }, 0 },
-  },
-  /* EVEX_W_0F12_P_0_M_0 */
-  {
-    { "vmovlps",       { XMM, Vex, EXxmm_mq }, 0 },
+    { "vmovsd",        { EXqVexScalarS, VexScalar, XMScalar }, 0 },
   },
   /* EVEX_W_0F12_P_0_M_1 */
   {
   {
     { "vmovsldup",     { XM, EXEvexXNoBcst }, 0 },
   },
-  /* EVEX_W_0F12_P_2 */
-  {
-    { Bad_Opcode },
-    { "vmovlpd",       { XMM, Vex, EXxmm_mq }, 0 },
-  },
   /* EVEX_W_0F12_P_3 */
   {
     { Bad_Opcode },
     { "vmovddup",      { XM, EXymmq }, 0 },
   },
-  /* EVEX_W_0F13_P_0 */
-  {
-    { "vmovlps",       { EXxmm_mq, XMM }, 0 },
-  },
-  /* EVEX_W_0F13_P_2 */
-  {
-    { Bad_Opcode },
-    { "vmovlpd",       { EXxmm_mq, XMM }, 0 },
-  },
-  /* EVEX_W_0F14_P_0 */
-  {
-    { "vunpcklps",     { XM, Vex, EXx }, 0 },
-  },
-  /* EVEX_W_0F14_P_2 */
-  {
-    { Bad_Opcode },
-    { "vunpcklpd",     { XM, Vex, EXx }, 0 },
-  },
-  /* EVEX_W_0F15_P_0 */
-  {
-    { "vunpckhps",     { XM, Vex, EXx }, 0 },
-  },
-  /* EVEX_W_0F15_P_2 */
-  {
-    { Bad_Opcode },
-    { "vunpckhpd",     { XM, Vex, EXx }, 0 },
-  },
-  /* EVEX_W_0F16_P_0_M_0 */
-  {
-    { "vmovhps",       { XMM, Vex, EXxmm_mq }, 0 },
-  },
   /* EVEX_W_0F16_P_0_M_1 */
   {
     { "vmovlhps",      { XMM, Vex, EXx }, 0 },
   {
     { "vmovshdup",     { XM, EXx }, 0 },
   },
-  /* EVEX_W_0F16_P_2 */
-  {
-    { Bad_Opcode },
-    { "vmovhpd",       { XMM, Vex, EXxmm_mq }, 0 },
-  },
-  /* EVEX_W_0F17_P_0 */
-  {
-    { "vmovhps",       { EXxmm_mq, XMM }, 0 },
-  },
-  /* EVEX_W_0F17_P_2 */
-  {
-    { Bad_Opcode },
-    { "vmovhpd",       { EXxmm_mq, XMM }, 0 },
-  },
-  /* EVEX_W_0F28_P_0 */
-  {
-    { "vmovaps",       { XM, EXx }, 0 },
-  },
-  /* EVEX_W_0F28_P_2 */
-  {
-    { Bad_Opcode },
-    { "vmovapd",       { XM, EXx }, 0 },
-  },
-  /* EVEX_W_0F29_P_0 */
-  {
-    { "vmovaps",       { EXxS, XM }, 0 },
-  },
-  /* EVEX_W_0F29_P_2 */
-  {
-    { Bad_Opcode },
-    { "vmovapd",       { EXxS, XM }, 0 },
-  },
   /* EVEX_W_0F2A_P_3 */
   {
     { "vcvtsi2sd%LQ",  { XMScalar, VexScalar, Ed }, 0 },
     { "vcvtsi2sd%LQ",  { XMScalar, VexScalar, EXxEVexR64, Edq }, 0 },
   },
-  /* EVEX_W_0F2B_P_0 */
-  {
-    { "vmovntps",      { EXx, XM }, 0 },
-  },
-  /* EVEX_W_0F2B_P_2 */
-  {
-    { Bad_Opcode },
-    { "vmovntpd",      { EXx, XM }, 0 },
-  },
-  /* EVEX_W_0F2E_P_0 */
-  {
-    { "vucomiss",      { XMScalar, EXxmm_md, EXxEVexS }, 0 },
-  },
-  /* EVEX_W_0F2E_P_2 */
-  {
-    { Bad_Opcode },
-    { "vucomisd",      { XMScalar, EXxmm_mq, EXxEVexS }, 0 },
-  },
-  /* EVEX_W_0F2F_P_0 */
-  {
-    { "vcomiss",       { XMScalar, EXxmm_md, EXxEVexS }, 0 },
-  },
-  /* EVEX_W_0F2F_P_2 */
-  {
-    { Bad_Opcode },
-    { "vcomisd",       { XMScalar, EXxmm_mq, EXxEVexS }, 0 },
-  },
-  /* EVEX_W_0F51_P_0 */
-  {
-    { "vsqrtps",       { XM, EXx, EXxEVexR }, 0 },
-  },
   /* EVEX_W_0F51_P_1 */
   {
     { "vsqrtss",       { XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 },
   },
-  /* EVEX_W_0F51_P_2 */
-  {
-    { Bad_Opcode },
-    { "vsqrtpd",       { XM, EXx, EXxEVexR }, 0 },
-  },
   /* EVEX_W_0F51_P_3 */
   {
     { Bad_Opcode },
     { "vsqrtsd",       { XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 },
   },
-  /* EVEX_W_0F54_P_0 */
-  {
-    { "vandps",        { XM, Vex, EXx }, 0 },
-  },
-  /* EVEX_W_0F54_P_2 */
-  {
-    { Bad_Opcode },
-    { "vandpd",        { XM, Vex, EXx }, 0 },
-  },
-  /* EVEX_W_0F55_P_0 */
-  {
-    { "vandnps",       { XM, Vex, EXx }, 0 },
-  },
-  /* EVEX_W_0F55_P_2 */
-  {
-    { Bad_Opcode },
-    { "vandnpd",       { XM, Vex, EXx }, 0 },
-  },
-  /* EVEX_W_0F56_P_0 */
-  {
-    { "vorps", { XM, Vex, EXx }, 0 },
-  },
-  /* EVEX_W_0F56_P_2 */
-  {
-    { Bad_Opcode },
-    { "vorpd", { XM, Vex, EXx }, 0 },
-  },
-  /* EVEX_W_0F57_P_0 */
-  {
-    { "vxorps",        { XM, Vex, EXx }, 0 },
-  },
-  /* EVEX_W_0F57_P_2 */
-  {
-    { Bad_Opcode },
-    { "vxorpd",        { XM, Vex, EXx }, 0 },
-  },
-  /* EVEX_W_0F58_P_0 */
-  {
-    { "vaddps",        { XM, Vex, EXx, EXxEVexR }, 0 },
-  },
   /* EVEX_W_0F58_P_1 */
   {
     { "vaddss",        { XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 },
   },
-  /* EVEX_W_0F58_P_2 */
-  {
-    { Bad_Opcode },
-    { "vaddpd",        { XM, Vex, EXx, EXxEVexR }, 0 },
-  },
   /* EVEX_W_0F58_P_3 */
   {
     { Bad_Opcode },
     { "vaddsd",        { XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 },
   },
-  /* EVEX_W_0F59_P_0 */
-  {
-    { "vmulps",        { XM, Vex, EXx, EXxEVexR }, 0 },
-  },
   /* EVEX_W_0F59_P_1 */
   {
     { "vmulss",        { XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 },
   },
-  /* EVEX_W_0F59_P_2 */
-  {
-    { Bad_Opcode },
-    { "vmulpd",        { XM, Vex, EXx, EXxEVexR }, 0 },
-  },
   /* EVEX_W_0F59_P_3 */
   {
     { Bad_Opcode },
   {
     { "vcvtps2dq",     { XM, EXx, EXxEVexR }, 0 },
   },
-  /* EVEX_W_0F5C_P_0 */
-  {
-    { "vsubps",        { XM, Vex, EXx, EXxEVexR }, 0 },
-  },
   /* EVEX_W_0F5C_P_1 */
   {
     { "vsubss",        { XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 },
   },
-  /* EVEX_W_0F5C_P_2 */
-  {
-    { Bad_Opcode },
-    { "vsubpd",        { XM, Vex, EXx, EXxEVexR }, 0 },
-  },
   /* EVEX_W_0F5C_P_3 */
   {
     { Bad_Opcode },
     { "vsubsd",        { XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 },
   },
-  /* EVEX_W_0F5D_P_0 */
-  {
-    { "vminps",        { XM, Vex, EXx, EXxEVexS }, 0 },
-  },
   /* EVEX_W_0F5D_P_1 */
   {
     { "vminss",        { XMScalar, VexScalar, EXxmm_md, EXxEVexS }, 0 },
   },
-  /* EVEX_W_0F5D_P_2 */
-  {
-    { Bad_Opcode },
-    { "vminpd",        { XM, Vex, EXx, EXxEVexS }, 0 },
-  },
   /* EVEX_W_0F5D_P_3 */
   {
     { Bad_Opcode },
     { "vminsd",        { XMScalar, VexScalar, EXxmm_mq, EXxEVexS }, 0 },
   },
-  /* EVEX_W_0F5E_P_0 */
-  {
-    { "vdivps",        { XM, Vex, EXx, EXxEVexR }, 0 },
-  },
   /* EVEX_W_0F5E_P_1 */
   {
     { "vdivss",        { XMScalar, VexScalar, EXxmm_md, EXxEVexR }, 0 },
   },
-  /* EVEX_W_0F5E_P_2 */
-  {
-    { Bad_Opcode },
-    { "vdivpd",        { XM, Vex, EXx, EXxEVexR }, 0 },
-  },
   /* EVEX_W_0F5E_P_3 */
   {
     { Bad_Opcode },
     { "vdivsd",        { XMScalar, VexScalar, EXxmm_mq, EXxEVexR }, 0 },
   },
-  /* EVEX_W_0F5F_P_0 */
-  {
-    { "vmaxps",        { XM, Vex, EXx, EXxEVexS }, 0 },
-  },
   /* EVEX_W_0F5F_P_1 */
   {
     { "vmaxss",        { XMScalar, VexScalar, EXxmm_md, EXxEVexS }, 0 },
   },
-  /* EVEX_W_0F5F_P_2 */
-  {
-    { Bad_Opcode },
-    { "vmaxpd",        { XM, Vex, EXx, EXxEVexS }, 0 },
-  },
   /* EVEX_W_0F5F_P_3 */
   {
     { Bad_Opcode },
     { "vmovdqu8",      { EXxS, XM }, 0 },
     { "vmovdqu16",     { EXxS, XM }, 0 },
   },
-  /* EVEX_W_0FC2_P_0 */
-  {
-    { "vcmpps",        { XMask, Vex, EXx, EXxEVexS, VCMP }, 0 },
-  },
   /* EVEX_W_0FC2_P_1 */
   {
     { "vcmpss",        { XMask, VexScalar, EXxmm_md, EXxEVexS, VCMP }, 0 },
   },
-  /* EVEX_W_0FC2_P_2 */
-  {
-    { Bad_Opcode },
-    { "vcmppd",        { XMask, Vex, EXx, EXxEVexS, VCMP }, 0 },
-  },
   /* EVEX_W_0FC2_P_3 */
   {
     { Bad_Opcode },
     { "vcmpsd",        { XMask, VexScalar, EXxmm_mq, EXxEVexS, VCMP }, 0 },
   },
-  /* EVEX_W_0FC6_P_0 */
-  {
-    { "vshufps",       { XM, Vex, EXx, Ib }, 0 },
-  },
-  /* EVEX_W_0FC6_P_2 */
-  {
-    { Bad_Opcode },
-    { "vshufpd",       { XM, Vex, EXx, Ib }, 0 },
-  },
   /* EVEX_W_0FD2_P_2 */
   {
     { "vpsrld",        { XM, Vex, EXxmm }, 0 },
   /* EVEX_W_0FD6_P_2 */
   {
     { Bad_Opcode },
-    { "vmovq", { EXxmm_mq, XMScalar }, 0 },
+    { "vmovq", { EXqVexScalarS, XMScalar }, 0 },
   },
   /* EVEX_W_0FE6_P_1 */
   {
   {
     { "vpaddd",        { XM, Vex, EXx }, 0 },
   },
-  /* EVEX_W_0F380C_P_2 */
-  {
-    { "vpermilps",     { XM, Vex, EXx }, 0 },
-  },
   /* EVEX_W_0F380D_P_2 */
   {
     { Bad_Opcode },
   {
     { "vpmovusqd",     { EXxmmq, XM }, 0 },
   },
-  /* EVEX_W_0F3818_P_2 */
-  {
-    { "vbroadcastss",  { XM, EXxmm_md }, 0 },
-  },
   /* EVEX_W_0F3819_P_2 */
   {
     { EVEX_LEN_TABLE (EVEX_LEN_0F3819_P_2_W_0) },
     { "vpopcntd",      { XM, EXx }, 0 },
     { "vpopcntq",      { XM, EXx }, 0 },
   },
-  /* EVEX_W_0F3858_P_2 */
-  {
-    { "vpbroadcastd",  { XM, EXxmm_md }, 0 },
-  },
   /* EVEX_W_0F3859_P_2 */
   {
     { "vbroadcasti32x2",       { XM, EXxmm_mq }, 0 },
     { "vpermi2b",      { XM, Vex, EXx }, 0 },
     { "vpermi2w",      { XM, Vex, EXx }, 0 },
   },
-  /* EVEX_W_0F3878_P_2 */
-  {
-    { "vpbroadcastb",  { XM, EXxmm_mb }, 0 },
-  },
-  /* EVEX_W_0F3879_P_2 */
-  {
-    { "vpbroadcastw",  { XM, EXxmm_mw }, 0 },
-  },
   /* EVEX_W_0F387A_P_2 */
   {
     { "vpbroadcastb",  { XM, Rd }, 0 },
   },
   /* EVEX_W_0F38C7_R_1_P_2 */
   {
-    { "vgatherpf0qps",  { MVexVSIBDQWpX }, 0 },
-    { "vgatherpf0qpd",  { MVexVSIBQWpX }, 0 },
+    { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_1_P_2_W_0) },
+    { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_1_P_2_W_1) },
   },
   /* EVEX_W_0F38C7_R_2_P_2 */
   {
-    { "vgatherpf1qps",  { MVexVSIBDQWpX }, 0 },
-    { "vgatherpf1qpd",  { MVexVSIBQWpX }, 0 },
+    { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_2_P_2_W_0) },
+    { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_2_P_2_W_1) },
   },
   /* EVEX_W_0F38C7_R_5_P_2 */
   {
-    { "vscatterpf0qps",  { MVexVSIBDQWpX }, 0 },
-    { "vscatterpf0qpd",  { MVexVSIBQWpX }, 0 },
+    { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_5_P_2_W_0) },
+    { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_5_P_2_W_1) },
   },
   /* EVEX_W_0F38C7_R_6_P_2 */
   {
-    { "vscatterpf1qps",  { MVexVSIBDQWpX }, 0 },
-    { "vscatterpf1qpd",  { MVexVSIBQWpX }, 0 },
+    { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_6_P_2_W_0) },
+    { EVEX_LEN_TABLE (EVEX_LEN_0F38C7_R_6_P_2_W_1) },
   },
   /* EVEX_W_0F3A00_P_2 */
   {
     { Bad_Opcode },
     { "vpermpd",       { XM, EXx, Ib }, 0 },
   },
-  /* EVEX_W_0F3A04_P_2 */
-  {
-    { "vpermilps",     { XM, EXx, Ib }, 0 },
-  },
   /* EVEX_W_0F3A05_P_2 */
   {
     { Bad_Opcode },
     { "vpshrdd",   { XM, Vex, EXx, Ib }, 0 },
     { "vpshrdq",   { XM, Vex, EXx, Ib }, 0 },
   },
-  /* EVEX_W_0F3ACE_P_2 */
-  {
-    { Bad_Opcode },
-    { "vgf2p8affineqb",    { XM, Vex, EXx, Ib }, 0 },
-  },
-  /* EVEX_W_0F3ACF_P_2 */
-  {
-    { Bad_Opcode },
-    { "vgf2p8affineinvqb", { XM, Vex, EXx, Ib }, 0 },
-  },
This page took 0.02761 seconds and 4 git commands to generate.