aboutsummaryrefslogtreecommitdiff
path: root/opcodes/i386-dis.c
diff options
context:
space:
mode:
Diffstat (limited to 'opcodes/i386-dis.c')
-rw-r--r--opcodes/i386-dis.c31
1 files changed, 28 insertions, 3 deletions
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index 96d8d1e..f279900 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -942,6 +942,7 @@ enum
MOD_0F18_REG_1,
MOD_0F18_REG_2,
MOD_0F18_REG_3,
+ MOD_0F18_REG_4,
MOD_0F18_REG_6,
MOD_0F18_REG_7,
MOD_0F1A_PREFIX_0,
@@ -1256,6 +1257,7 @@ enum
PREFIX_EVEX_MAP5_6C,
PREFIX_EVEX_MAP5_6D,
PREFIX_EVEX_MAP5_6E_L_0,
+ PREFIX_EVEX_MAP5_6F_X86_64,
PREFIX_EVEX_MAP5_74,
PREFIX_EVEX_MAP5_78,
PREFIX_EVEX_MAP5_79,
@@ -1344,6 +1346,8 @@ enum
X86_64_0F18_REG_7_MOD_0,
X86_64_0F24,
X86_64_0F26,
+ X86_64_0F388A,
+ X86_64_0F388B,
X86_64_0F38F8_M_1,
X86_64_0FC7_REG_6_MOD_3_PREFIX_1,
@@ -1362,6 +1366,8 @@ enum
X86_64_VEX_MAP5_FD,
X86_64_VEX_MAP7_F6_L_0_W_0_R_0,
X86_64_VEX_MAP7_F8_L_0_W_0_R_0,
+
+ X86_64_EVEX_MAP5_6F,
};
enum
@@ -2863,7 +2869,7 @@ static const struct dis386 reg_table[][8] = {
{ MOD_TABLE (MOD_0F18_REG_1) },
{ MOD_TABLE (MOD_0F18_REG_2) },
{ MOD_TABLE (MOD_0F18_REG_3) },
- { "nopQ", { Ev }, 0 },
+ { MOD_TABLE (MOD_0F18_REG_4) },
{ "nopQ", { Ev }, 0 },
{ MOD_TABLE (MOD_0F18_REG_6) },
{ MOD_TABLE (MOD_0F18_REG_7) },
@@ -4615,6 +4621,18 @@ static const struct dis386 x86_64_table[][2] = {
},
{
+ /* X86_64_0F388A */
+ { Bad_Opcode },
+ { "movrsB", { Gb, Mb }, PREFIX_OPCODE },
+ },
+
+ {
+ /* X86_64_0F388B */
+ { Bad_Opcode },
+ { "movrsS", { Gv, Mv }, PREFIX_OPCODE },
+ },
+
+ {
/* X86_64_0F38F8_M_1 */
{ Bad_Opcode },
{ PREFIX_TABLE (PREFIX_0F38F8_M_1_X86_64) },
@@ -4709,6 +4727,8 @@ static const struct dis386 x86_64_table[][2] = {
{ Bad_Opcode },
{ PREFIX_TABLE (PREFIX_VEX_MAP7_F8_L_0_W_0_R_0_X86_64) },
},
+
+#include "i386-dis-evex-x86-64.h"
};
static const struct dis386 three_byte_table[][256] = {
@@ -4871,8 +4891,8 @@ static const struct dis386 three_byte_table[][256] = {
/* 88 */
{ Bad_Opcode },
{ Bad_Opcode },
- { Bad_Opcode },
- { Bad_Opcode },
+ { X86_64_TABLE (X86_64_0F388A) },
+ { X86_64_TABLE (X86_64_0F388B) },
{ Bad_Opcode },
{ Bad_Opcode },
{ Bad_Opcode },
@@ -8392,6 +8412,11 @@ static const struct dis386 mod_table[][2] = {
{ "nopQ", { Ev }, 0 },
},
{
+ /* MOD_0F18_REG_4 */
+ { "prefetchrst2", { Mb }, 0 },
+ { "nopQ", { Ev }, 0 },
+ },
+ {
/* MOD_0F18_REG_6 */
{ X86_64_TABLE (X86_64_0F18_REG_6_MOD_0) },
{ "nopQ", { Ev }, 0 },