PR 6526
[binutils-gdb.git] / opcodes / i386-opc.h
index 4ea2ec453b20f1f00c0a7fc4725e337222c82e7d..3b577dbd681c18b4efef4838e9bc8de6eaa63eca 100644 (file)
 #define CpuXsave       (CpuAVX + 1)
 /* AES support required */
 #define CpuAES         (CpuXsave + 1)
-/* CLMUL support required */
-#define CpuCLMUL       (CpuAES + 1)
+/* PCLMUL support required */
+#define CpuPCLMUL      (CpuAES + 1)
 /* FMA support required */
-#define CpuFMA         (CpuCLMUL + 1)
+#define CpuFMA         (CpuPCLMUL + 1)
+/* MOVBE Instuction support required */
+#define CpuMovbe       (CpuFMA + 1)
+/* EPT Instructions required */
+#define CpuEPT         (CpuMovbe + 1)
 /* 64bit support available, used by -march= in assembler.  */
-#define CpuLM          (CpuFMA + 1)
+#define CpuLM          (CpuEPT + 1)
 /* 64bit support required  */
 #define Cpu64          (CpuLM + 1)
 /* Not supported in the 64bit mode  */
@@ -142,8 +146,10 @@ typedef union i386_cpu_flags
       unsigned int cpuavx:1;
       unsigned int cpuxsave:1;
       unsigned int cpuaes:1;
-      unsigned int cpuclmul:1;
+      unsigned int cpupclmul:1;
       unsigned int cpufma:1;
+      unsigned int cpumovbe:1;
+      unsigned int cpuept:1;
       unsigned int cpulm:1;
       unsigned int cpu64:1;
       unsigned int cpuno64:1;
@@ -261,8 +267,10 @@ typedef union i386_cpu_flags
 #define VexImmExt              (Vex3Sources + 1)
 /* SSE to AVX support required */
 #define SSE2AVX                        (VexImmExt + 1)
+/* No AVX equivalent */
+#define NoAVX                  (SSE2AVX + 1)
 /* Compatible with old (<= 2.8.1) versions of gcc  */
-#define OldGcc                 (SSE2AVX + 1)
+#define OldGcc                 (NoAVX + 1)
 /* AT&T mnemonic.  */
 #define ATTMnemonic            (OldGcc + 1)
 /* AT&T syntax.  */
@@ -325,6 +333,7 @@ typedef struct i386_opcode_modifier
   unsigned int vex3sources:1;
   unsigned int veximmext:1;
   unsigned int sse2avx:1;
+  unsigned int noavx:1;
   unsigned int oldgcc:1;
   unsigned int attmnemonic:1;
   unsigned int attsyntax:1;