X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=opcodes%2Fi386-opc.h;h=55726c1a7a712bc4d446d04e202373b76e57d70d;hb=e822f2cda9bc484adb5f8860050640a5c6f1ced9;hp=ccf5d91067e3759103524ef8d5384c3c9df3d47e;hpb=50128d0cab8445e97ee89f55082dadb69d2bfbc8;p=deliverable%2Fbinutils-gdb.git diff --git a/opcodes/i386-opc.h b/opcodes/i386-opc.h index ccf5d91067..55726c1a7a 100644 --- a/opcodes/i386-opc.h +++ b/opcodes/i386-opc.h @@ -87,8 +87,10 @@ enum CpuSSSE3, /* SSE4a support required */ CpuSSE4a, - /* ABM New Instructions required */ - CpuABM, + /* LZCNT support required */ + CpuLZCNT, + /* POPCNT support required */ + CpuPOPCNT, /* SSE4.1 support required */ CpuSSE4_1, /* SSE4.2 support required */ @@ -154,8 +156,6 @@ enum CpuF16C, /* Intel BMI2 support required */ CpuBMI2, - /* LZCNT support required */ - CpuLZCNT, /* HLE support required */ CpuHLE, /* RTM support required */ @@ -243,10 +243,16 @@ enum CpuMOVDIR64B, /* ENQCMD instruction required */ CpuENQCMD, + /* SERIALIZE instruction required */ + CpuSERIALIZE, /* RDPRU instruction required */ CpuRDPRU, /* MCOMMIT instruction required */ CpuMCOMMIT, + /* SEV-ES instruction(s) required */ + CpuSEV_ES, + /* TSXLDTRK instruction required */ + CpuTSXLDTRK, /* 64bit support required */ Cpu64, /* Not supported in the 64bit mode */ @@ -298,7 +304,8 @@ typedef union i386_cpu_flags unsigned int cpusmx:1; unsigned int cpussse3:1; unsigned int cpusse4a:1; - unsigned int cpuabm:1; + unsigned int cpulzcnt:1; + unsigned int cpupopcnt:1; unsigned int cpusse4_1:1; unsigned int cpusse4_2:1; unsigned int cpuavx:1; @@ -331,7 +338,6 @@ typedef union i386_cpu_flags unsigned int cpurdrnd:1; unsigned int cpuf16c:1; unsigned int cpubmi2:1; - unsigned int cpulzcnt:1; unsigned int cpuhle:1; unsigned int cpurtm:1; unsigned int cpuinvpcid:1; @@ -376,8 +382,11 @@ typedef union i386_cpu_flags unsigned int cpumovdiri:1; unsigned int cpumovdir64b:1; unsigned int cpuenqcmd:1; + unsigned int cpuserialize:1; unsigned int cpurdpru:1; unsigned int cpumcommit:1; + unsigned int cpusev_es:1; + unsigned int cputsxldtrk:1; unsigned int cpu64:1; unsigned int cpuno64:1; #ifdef CpuUnused @@ -427,9 +436,10 @@ enum CheckRegSize, /* instruction ignores operand size prefix and in Intel mode ignores mnemonic size suffix check. */ - IgnoreSize, +#define IGNORESIZE 1 /* default insn size depends on mode */ - DefaultSize, +#define DEFAULTSIZE 2 + MnemonicSize, /* any memory size */ Anysize, /* b suffix on instruction illegal */ @@ -492,8 +502,6 @@ enum ImmExt, /* instruction don't need Rex64 prefix. */ NoRex64, - /* instruction require Rex64 prefix. */ - Rex64, /* deprecated fp insn, gets a warning */ Ugh, /* insn has VEX prefix: @@ -661,8 +669,7 @@ typedef struct i386_opcode_modifier unsigned int floatr:1; unsigned int size:2; unsigned int checkregsize:1; - unsigned int ignoresize:1; - unsigned int defaultsize:1; + unsigned int mnemonicsize:2; unsigned int anysize:1; unsigned int no_bsuf:1; unsigned int no_wsuf:1; @@ -686,7 +693,6 @@ typedef struct i386_opcode_modifier unsigned int isprefix:1; unsigned int immext:1; unsigned int norex64:1; - unsigned int rex64:1; unsigned int ugh:1; unsigned int vex:2; unsigned int vexvvvv:2; @@ -900,7 +906,7 @@ extern const insn_template i386_optab[]; /* these are for register name --> number & type hash lookup */ typedef struct { - char *reg_name; + const char *reg_name; i386_operand_type reg_type; unsigned char reg_flags; #define RegRex 0x1 /* Extended register. */