Support AVX Programming Reference (June, 2010)
[deliverable/binutils-gdb.git] / opcodes / i386-opc.h
index 2aa9bb2cea79d1894a92da11c30a5aa2aa8cf928..0fa7e85d873c9c5e6878b236a547996571e8fd6c 100644 (file)
@@ -1,5 +1,5 @@
 /* Declarations for Intel 80386 opcode table
-   Copyright 2007, 2008, 2009
+   Copyright 2007, 2008, 2009, 2010
    Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
@@ -94,6 +94,8 @@ enum
   CpuL1OM,
   /* Xsave/xrstor New Instuctions support required */
   CpuXsave,
+  /* Xsaveopt New Instuctions support required */
+  CpuXsaveopt,
   /* AES support required */
   CpuAES,
   /* PCLMUL support required */
@@ -112,6 +114,12 @@ enum
   CpuEPT,
   /* RDTSCP Instuction support required */
   CpuRdtscp,
+  /* FSBSBASE Instructions required */
+  CpuFSGSBase,
+  /* RDRND Instructions required */
+  CpuRdRnd,
+  /* F16C Instructions required */
+  CpuF16C,
   /* 64bit support available, used by -march= in assembler.  */
   CpuLM,
   /* 64bit support required  */
@@ -168,6 +176,7 @@ typedef union i386_cpu_flags
       unsigned int cpuavx:1;
       unsigned int cpul1om:1;
       unsigned int cpuxsave:1;
+      unsigned int cpuxsaveopt:1;
       unsigned int cpuaes:1;
       unsigned int cpupclmul:1;
       unsigned int cpufma:1;
@@ -177,6 +186,9 @@ typedef union i386_cpu_flags
       unsigned int cpumovbe:1;
       unsigned int cpuept:1;
       unsigned int cpurdtscp:1;
+      unsigned int cpufsgsbase:1;
+      unsigned int cpurdrnd:1;
+      unsigned int cpuf16c:1;
       unsigned int cpulm:1;
       unsigned int cpu64:1;
       unsigned int cpuno64:1;
@@ -271,9 +283,11 @@ enum
   /* insn has VEX prefix:
        1: 128bit VEX prefix.
        2: 256bit VEX prefix.
+       3: Scalar VEX prefix.
    */
-#define VEX128 1
-#define VEX256 2
+#define VEX128         1
+#define VEX256         2
+#define VEXScalar      3
   Vex,
   /* How to encode VEX.vvvv:
      0: VEX.vvvv must be 1111b.
@@ -498,6 +512,9 @@ enum
   /* Any memory size.  */
   Anysize,
 
+  /* Vector 4 bit immediate.  */
+  Vec_Imm4,
+
   /* The last bitfield in i386_operand_type.  */
   OTMax
 };
@@ -559,6 +576,7 @@ typedef union i386_operand_type
       unsigned int ymmword:1;
       unsigned int unspecified:1;
       unsigned int anysize:1;
+      unsigned int vec_imm4:1;
 #ifdef OTUnused
       unsigned int unused:(OTNumOfBits - OTUnused);
 #endif
This page took 0.024783 seconds and 4 git commands to generate.