X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=opcodes%2Fi386-opc.h;h=ba04ce47ad17b58675abeee918542bf658aca513;hb=90f61cceac73fe40dcd21b3590c247bfa624ac00;hp=ce5a44d0ed3d5b2a48e8610125c5b8f53fa897c6;hpb=2cf200a4c8a850e6f696e572ea03f340eae97c8a;p=deliverable%2Fbinutils-gdb.git diff --git a/opcodes/i386-opc.h b/opcodes/i386-opc.h index ce5a44d0ed..ba04ce47ad 100644 --- a/opcodes/i386-opc.h +++ b/opcodes/i386-opc.h @@ -1,5 +1,5 @@ /* Declarations for Intel 80386 opcode table - Copyright (C) 2007-2014 Free Software Foundation, Inc. + Copyright (C) 2007-2016 Free Software Foundation, Inc. This file is part of the GNU opcodes library. @@ -102,10 +102,18 @@ enum CpuAVX512ER, /* Intel AVX-512 Prefetch Instructions support required */ CpuAVX512PF, + /* Intel AVX-512 VL Instructions support required. */ + CpuAVX512VL, + /* Intel AVX-512 DQ Instructions support required. */ + CpuAVX512DQ, + /* Intel AVX-512 BW Instructions support required. */ + CpuAVX512BW, /* Intel L1OM support required */ CpuL1OM, /* Intel K1OM support required */ CpuK1OM, + /* Intel IAMCU support required */ + CpuIAMCU, /* Xsave/xrstor New Instructions support required */ CpuXsave, /* Xsaveopt New Instructions support required */ @@ -178,6 +186,36 @@ enum CpuPREFETCHWT1, /* SE1 instruction required */ CpuSE1, + /* CLWB instruction required */ + CpuCLWB, + /* Intel AVX-512 IFMA Instructions support required. */ + CpuAVX512IFMA, + /* Intel AVX-512 VBMI Instructions support required. */ + CpuAVX512VBMI, + /* Intel AVX-512 4FMAPS Instructions support required. */ + CpuAVX512_4FMAPS, + /* Intel AVX-512 4VNNIW Instructions support required. */ + CpuAVX512_4VNNIW, + /* mwaitx instruction required */ + CpuMWAITX, + /* Clzero instruction required */ + CpuCLZERO, + /* OSPKE instruction required */ + CpuOSPKE, + /* RDPID instruction required */ + CpuRDPID, + /* PTWRITE instruction required */ + CpuPTWRITE, + /* MMX register support required */ + CpuRegMMX, + /* XMM register support required */ + CpuRegXMM, + /* YMM register support required */ + CpuRegYMM, + /* ZMM register support required */ + CpuRegZMM, + /* Mask register support required */ + CpuRegMask, /* 64bit support required */ Cpu64, /* Not supported in the 64bit mode */ @@ -236,8 +274,12 @@ typedef union i386_cpu_flags unsigned int cpuavx512cd:1; unsigned int cpuavx512er:1; unsigned int cpuavx512pf:1; + unsigned int cpuavx512vl:1; + unsigned int cpuavx512dq:1; + unsigned int cpuavx512bw:1; unsigned int cpul1om:1; unsigned int cpuk1om:1; + unsigned int cpuiamcu:1; unsigned int cpuxsave:1; unsigned int cpuxsaveopt:1; unsigned int cpuaes:1; @@ -274,6 +316,21 @@ typedef union i386_cpu_flags unsigned int cpuxsavec:1; unsigned int cpuprefetchwt1:1; unsigned int cpuse1:1; + unsigned int cpuclwb:1; + unsigned int cpuavx512ifma:1; + unsigned int cpuavx512vbmi:1; + unsigned int cpuavx512_4fmaps:1; + unsigned int cpuavx512_4vnniw:1; + unsigned int cpumwaitx:1; + unsigned int cpuclzero:1; + unsigned int cpuospke:1; + unsigned int cpurdpid:1; + unsigned int cpuptwrite:1; + unsigned int cpuregmmx:1; + unsigned int cpuregxmm:1; + unsigned int cpuregymm:1; + unsigned int cpuregzmm:1; + unsigned int cpuregmask:1; unsigned int cpu64:1; unsigned int cpuno64:1; #ifdef CpuUnused @@ -492,6 +549,8 @@ enum #define NO_BROADCAST 0 #define BROADCAST_1TO16 1 #define BROADCAST_1TO8 2 +#define BROADCAST_1TO4 3 +#define BROADCAST_1TO2 4 Broadcast, /* Static rounding control is supported. */ @@ -506,6 +565,11 @@ enum /* Default mask isn't allowed. */ NoDefMask, + /* The second operand must be a vector register, {x,y,z}mmN, where N is a multiple of 4. + It implicitly denotes the register group of {x,y,z}mmN - {x,y,z}mm(N + 3). + */ + ImplicitQuadGroup, + /* Compatible with old (<= 2.8.1) versions of gcc */ OldGcc, /* AT&T mnemonic. */ @@ -514,6 +578,10 @@ enum ATTSyntax, /* Intel syntax. */ IntelSyntax, + /* AMD64. */ + AMD64, + /* Intel64. */ + Intel64, /* The last bitfield in i386_opcode_modifier. */ Opcode_Modifier_Max }; @@ -578,10 +646,13 @@ typedef struct i386_opcode_modifier unsigned int sae:1; unsigned int disp8memshift:3; unsigned int nodefmask:1; + unsigned int implicitquadgroup:1; unsigned int oldgcc:1; unsigned int attmnemonic:1; unsigned int attsyntax:1; unsigned int intelsyntax:1; + unsigned int amd64:1; + unsigned int intel64:1; } i386_opcode_modifier; /* Position of operand_type bits. */