diff options
Diffstat (limited to 'opcodes/i386-gen.c')
-rw-r--r-- | opcodes/i386-gen.c | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c index f7e93697c3e..b225e0653e7 100644 --- a/opcodes/i386-gen.c +++ b/opcodes/i386-gen.c @@ -102,6 +102,12 @@ static initializer cpu_flag_init [] = "CpuSMX" }, { "CPU_XSAVE_FLAGS", "CpuXsave" }, + { "CPU_AES_FLAGS", + "CpuMMX|CpuSSE|CpuSSE2|CpuSSE3|CpuSSSE3|CpuSSE4_1|CpuSSE4_2|CpuAES" }, + { "CPU_CLMUL_FLAGS", + "CpuMMX|CpuSSE|CpuSSE2|CpuSSE3|CpuSSSE3|CpuSSE4_1|CpuSSE4_2|CpuCLMUL" }, + { "CPU_FMA_FLAGS", + "CpuMMX|CpuSSE|CpuSSE2|CpuSSE3|CpuSSSE3|CpuSSE4_1|CpuSSE4_2|CpuAVX|CpuFMA" }, { "CPU_3DNOW_FLAGS", "CpuMMX|Cpu3dnow" }, { "CPU_3DNOWA_FLAGS", @@ -116,6 +122,8 @@ static initializer cpu_flag_init [] = "CpuABM" }, { "CPU_SSE5_FLAGS", "CpuMMX|CpuSSE|CpuSSE2|CpuSSE3|CpuSSE4a|CpuABM|CpuSSE5"}, + { "CPU_AVX_FLAGS", + "CpuMMX|CpuSSE|CpuSSE2|CpuSSE3|CpuSSSE3|CpuSSE4_1|CpuSSE4_2|CpuAVX" }, }; static initializer operand_type_init [] = @@ -182,6 +190,8 @@ static initializer operand_type_init [] = "RegMMX" }, { "OPERAND_TYPE_REGXMM", "RegXMM" }, + { "OPERAND_TYPE_REGYMM", + "RegYMM" }, { "OPERAND_TYPE_ESSEG", "EsSeg" }, { "OPERAND_TYPE_ACC32", @@ -210,6 +220,8 @@ static initializer operand_type_init [] = "Imm32|Imm32S|Imm64|Disp32" }, { "OPERAND_TYPE_IMM32_32S_64_DISP32_64", "Imm32|Imm32S|Imm64|Disp32|Disp64" }, + { "OPERAND_TYPE_VEX_IMM4", + "VEX_Imm4" }, }; typedef struct bitfield @@ -239,6 +251,7 @@ static bitfield cpu_flags[] = BITFIELD (CpuSSSE3), BITFIELD (CpuSSE4_1), BITFIELD (CpuSSE4_2), + BITFIELD (CpuAVX), BITFIELD (CpuSSE4a), BITFIELD (CpuSSE5), BITFIELD (Cpu3dnow), @@ -248,8 +261,11 @@ static bitfield cpu_flags[] = BITFIELD (CpuVMX), BITFIELD (CpuSMX), BITFIELD (CpuABM), - BITFIELD (CpuLM), BITFIELD (CpuXsave), + BITFIELD (CpuAES), + BITFIELD (CpuCLMUL), + BITFIELD (CpuFMA), + BITFIELD (CpuLM), BITFIELD (Cpu64), BITFIELD (CpuNo64), #ifdef CpuUnused @@ -285,6 +301,7 @@ static bitfield opcode_modifiers[] = BITFIELD (IsString), BITFIELD (RegKludge), BITFIELD (FirstXmm0), + BITFIELD (Implicit1stXmm0), BITFIELD (ByteOkIntel), BITFIELD (ToDword), BITFIELD (ToQword), @@ -297,6 +314,18 @@ static bitfield opcode_modifiers[] = BITFIELD (Drex), BITFIELD (Drexv), BITFIELD (Drexc), + BITFIELD (Vex), + BITFIELD (Vex256), + BITFIELD (VexNDD), + BITFIELD (VexNDS), + BITFIELD (VexW0), + BITFIELD (VexW1), + BITFIELD (Vex0F), + BITFIELD (Vex0F38), + BITFIELD (Vex0F3A), + BITFIELD (Vex3Sources), + BITFIELD (VexImmExt), + BITFIELD (SSE2AVX), BITFIELD (OldGcc), BITFIELD (ATTMnemonic), BITFIELD (ATTSyntax), @@ -312,6 +341,7 @@ static bitfield operand_types[] = BITFIELD (FloatReg), BITFIELD (RegMMX), BITFIELD (RegXMM), + BITFIELD (RegYMM), BITFIELD (Imm8), BITFIELD (Imm8S), BITFIELD (Imm16), @@ -345,8 +375,10 @@ static bitfield operand_types[] = BITFIELD (Qword), BITFIELD (Tbyte), BITFIELD (Xmmword), + BITFIELD (Ymmword), BITFIELD (Unspecified), BITFIELD (Anysize), + BITFIELD (Vex_Imm4), #ifdef OTUnused BITFIELD (OTUnused), #endif |