Enable Intel AVX512_VP2INTERSECT insn
[deliverable/binutils-gdb.git] / opcodes / i386-dis-evex.h
index 22c9165ac7fb9f647720d645ba8454f66a772f56..9965d4f9fff60a34701960862a9c04da6b4f8e52 100644 (file)
@@ -412,7 +412,7 @@ static const struct dis386 evex_table[][256] = {
     { PREFIX_TABLE (PREFIX_EVEX_0F3866) },
     { Bad_Opcode },
     /* 68 */
-    { Bad_Opcode },
+    { PREFIX_TABLE (PREFIX_EVEX_0F3868) },
     { Bad_Opcode },
     { Bad_Opcode },
     { Bad_Opcode },
@@ -2020,7 +2020,7 @@ static const struct dis386 evex_table[][256] = {
   /* PREFIX_EVEX_0F3852 */
   {
     { Bad_Opcode },
-    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F3852_P_1) },
     { "vpdpwssd",      { XM, Vex, EXx }, 0 },
     { "vp4dpwssd",     { XM, Vex, EXxmm }, 0 },
   },
@@ -2097,6 +2097,13 @@ static const struct dis386 evex_table[][256] = {
     { Bad_Opcode },
     { VEX_W_TABLE (EVEX_W_0F3866_P_2) },
   },
+  /* PREFIX_EVEX_0F3868 */
+  {
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F3868_P_3) },
+  },
   /* PREFIX_EVEX_0F3870 */
   {
     { Bad_Opcode },
@@ -2112,8 +2119,9 @@ static const struct dis386 evex_table[][256] = {
   /* PREFIX_EVEX_0F3872 */
   {
     { Bad_Opcode },
-    { Bad_Opcode },
+    { VEX_W_TABLE (EVEX_W_0F3872_P_1) },
     { VEX_W_TABLE (EVEX_W_0F3872_P_2) },
+    { VEX_W_TABLE (EVEX_W_0F3872_P_3) },
   },
   /* PREFIX_EVEX_0F3873 */
   {
@@ -2167,7 +2175,7 @@ static const struct dis386 evex_table[][256] = {
   {
     { Bad_Opcode },
     { Bad_Opcode },
-    { "vpbroadcast%LW",        { XM, Rdq }, 0 },
+    { "vpbroadcastK",  { XM, Rdq }, 0 },
   },
   /* PREFIX_EVEX_0F387D */
   {
@@ -3299,11 +3307,6 @@ static const struct dis386 evex_table[][256] = {
     { Bad_Opcode },
     { "vpunpckhqdq",   { XM, Vex, EXx }, 0 },
   },
-  /* EVEX_W_0F6E_P_2 */
-  {
-    { "vmovd", { XMScalar, Ed }, 0 },
-    { "vmovq", { XMScalar, Eq }, 0 },
-  },
   /* EVEX_W_0F6F_P_1 */
   {
     { "vmovdqu32",     { XM, EXEvexXNoBcst }, 0 },
@@ -3400,11 +3403,6 @@ static const struct dis386 evex_table[][256] = {
     { Bad_Opcode },
     { "vmovq", { XMScalar, EXxmm_mq }, 0 },
   },
-  /* EVEX_W_0F7E_P_2 */
-  {
-    { "vmovd", { Ed, XMScalar }, 0 },
-    { "vmovq", { Eq, XMScalar }, 0 },
-  },
   /* EVEX_W_0F7F_P_1 */
   {
     { "vmovdqu32",     { EXxS, XM }, 0 },
@@ -3715,6 +3713,11 @@ static const struct dis386 evex_table[][256] = {
     { "vpmulld",       { XM, Vex, EXx }, 0 },
     { "vpmullq",       { XM, Vex, EXx }, 0 },
   },
+  /* EVEX_W_0F3852_P_1 */
+  {
+    { "vdpbf16ps",     { XM, Vex, EXx }, 0 },
+    { Bad_Opcode },
+  },
   /* EVEX_W_0F3854_P_2 */
   {
     { "vpopcntb",      { XM, EXx }, 0 },
@@ -3759,6 +3762,11 @@ static const struct dis386 evex_table[][256] = {
     { "vpblendmb",     { XM, Vex, EXx }, 0 },
     { "vpblendmw",     { XM, Vex, EXx }, 0 },
   },
+  /* EVEX_W_0F3868_P_3 */
+  {
+    { "vp2intersectd", { XMask, Vex, EXx, EXxEVexS }, 0 },
+    { "vp2intersectq", { XMask, Vex, EXx, EXxEVexS }, 0 },
+  },
   /* EVEX_W_0F3870_P_2 */
   {
     { Bad_Opcode },
@@ -3769,11 +3777,21 @@ static const struct dis386 evex_table[][256] = {
     { "vpshldvd",  { XM, Vex, EXx }, 0 },
     { "vpshldvq",  { XM, Vex, EXx }, 0 },
   },
+  /* EVEX_W_0F3872_P_1 */
+  {
+    { "vcvtneps2bf16%XY", { XMxmmq, EXx }, 0 },
+    { Bad_Opcode },
+  },
   /* EVEX_W_0F3872_P_2 */
   {
     { Bad_Opcode },
     { "vpshrdvw",  { XM, Vex, EXx }, 0 },
   },
+  /* EVEX_W_0F3872_P_3 */
+  {
+    { "vcvtne2ps2bf16", { XM, Vex, EXx}, 0 },
+    { Bad_Opcode },
+  },
   /* EVEX_W_0F3873_P_2 */
   {
     { "vpshrdvd",  { XM, Vex, EXx }, 0 },
@@ -4093,7 +4111,7 @@ static const struct dis386 evex_table[][256] = {
 #ifdef NEED_EVEX_LEN_TABLE
   /* EVEX_LEN_0F6E_P_2 */
   {
-    { VEX_W_TABLE (EVEX_W_0F6E_P_2) },
+    { "vmovK", { XMScalar, Edq }, 0 },
   },
 
   /* EVEX_LEN_0F7E_P_1 */
@@ -4103,7 +4121,7 @@ static const struct dis386 evex_table[][256] = {
 
   /* EVEX_LEN_0F7E_P_2 */
   {
-    { VEX_W_TABLE (EVEX_W_0F7E_P_2) },
+    { "vmovK", { Edq, XMScalar }, 0 },
   },
 
   /* EVEX_LEN_0FD6_P_2 */
This page took 0.027249 seconds and 4 git commands to generate.