#define CpuK8 (CpuK6 + 1)
/* MMX support required */
#define CpuMMX (CpuK8 + 1)
-/* extended MMX support (with SSE or 3DNow!Ext) required */
-#define CpuMMX2 (CpuMMX + 1)
/* SSE support required */
-#define CpuSSE (CpuMMX2 + 1)
+#define CpuSSE (CpuMMX + 1)
/* SSE2 support required */
#define CpuSSE2 (CpuSSE + 1)
/* 3dnow! support required */
#define CpuSSE4_2 (CpuSSE4_1 + 1)
/* SSE5 support required */
#define CpuSSE5 (CpuSSE4_2 + 1)
+/* Xsave/xrstor New Instuctions support required */
+#define CpuXsave (CpuSSE5 + 1)
/* 64bit support available, used by -march= in assembler. */
-#define CpuLM (CpuSSE5 + 1)
+#define CpuLM (CpuXsave + 1)
/* 64bit support required */
#define Cpu64 (CpuLM + 1)
/* Not supported in the 64bit mode */
unsigned int cpuk6:1;
unsigned int cpuk8:1;
unsigned int cpummx:1;
- unsigned int cpummx2:1;
unsigned int cpusse:1;
unsigned int cpusse2:1;
unsigned int cpua3dnow:1;
unsigned int cpusse4_1:1;
unsigned int cpusse4_2:1;
unsigned int cpusse5:1;
+ unsigned int cpuxsave:1;
unsigned int cpulm:1;
unsigned int cpu64:1;
unsigned int cpuno64:1;
#define ATTMnemonic (OldGcc + 1)
/* AT&T syntax. */
#define ATTSyntax (ATTMnemonic + 1)
+/* Intel syntax. */
+#define IntelSyntax (ATTSyntax + 1)
/* The last bitfield in i386_opcode_modifier. */
-#define Opcode_Modifier_Max ATTSyntax
+#define Opcode_Modifier_Max IntelSyntax
typedef struct i386_opcode_modifier
{
unsigned int oldgcc:1;
unsigned int attmnemonic:1;
unsigned int attsyntax:1;
+ unsigned int intelsyntax:1;
} i386_opcode_modifier;
/* Position of operand_type bits. */
flag to the destination register operand to indicate that it should
be encoded in the regmem field. */
#define RegMem (EsSeg + 1)
+/* Memory. */
+#define Mem (RegMem + 1)
/* BYTE memory. */
-#define Byte (RegMem + 1)
+#define Byte (Mem + 1)
/* WORD memory. 2 byte */
#define Word (Byte + 1)
/* DWORD memory. 4 byte */
unsigned int jumpabsolute:1;
unsigned int esseg:1;
unsigned int regmem:1;
+ unsigned int mem:1;
unsigned int byte:1;
unsigned int word:1;
unsigned int dword:1;