diff options
Diffstat (limited to 'opcodes/i386-gen.c')
-rw-r--r-- | opcodes/i386-gen.c | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c index e2857ba..115b273 100644 --- a/opcodes/i386-gen.c +++ b/opcodes/i386-gen.c @@ -127,7 +127,7 @@ static initializer cpu_flag_init[] = { "CPU_SSE4_2_FLAGS", "CpuMMX|CpuSSE|CpuSSE2|CpuSSE3|CpuSSSE3|CpuSSE4_1|CpuSSE4_2" }, { "CPU_ANY_SSE_FLAGS", - "CpuSSE|CpuSSE2|CpuSSE3|CpuSSSE3|CpuSSE4_1|CpuSSE4_2|CpuSSE4a|CpuAVX|CpuAVX2" }, + "CpuSSE|CpuSSE2|CpuSSE3|CpuSSSE3|CpuSSE4_1|CpuSSE4_2|CpuSSE4a|CpuAVX|CpuAVX2|CpuAVX512F|CpuAVX512CD|CpuAVX512ER|CpuAVX512PF" }, { "CPU_VMX_FLAGS", "CpuVMX" }, { "CPU_SMX_FLAGS", @@ -194,8 +194,16 @@ static initializer cpu_flag_init[] = "CpuMMX|CpuSSE|CpuSSE2|CpuSSE3|CpuSSSE3|CpuSSE4_1|CpuSSE4_2|CpuAVX" }, { "CPU_AVX2_FLAGS", "CpuMMX|CpuSSE|CpuSSE2|CpuSSE3|CpuSSSE3|CpuSSE4_1|CpuSSE4_2|CpuAVX|CpuAVX2" }, + { "CPU_AVX512F_FLAGS", + "CpuMMX|CpuSSE|CpuSSE2|CpuSSE3|CpuSSSE3|CpuSSE4_1|CpuSSE4_2|CpuAVX|CpuAVX2|CpuAVX512F" }, + { "CPU_AVX512CD_FLAGS", + "CpuMMX|CpuSSE|CpuSSE2|CpuSSE3|CpuSSSE3|CpuSSE4_1|CpuSSE4_2|CpuAVX|CpuAVX2|CpuAVX512F|CpuAVX512CD" }, + { "CPU_AVX512ER_FLAGS", + "CpuMMX|CpuSSE|CpuSSE2|CpuSSE3|CpuSSSE3|CpuSSE4_1|CpuSSE4_2|CpuAVX|CpuAVX2|CpuAVX512F|CpuAVX512ER" }, + { "CPU_AVX512PF_FLAGS", + "CpuMMX|CpuSSE|CpuSSE2|CpuSSE3|CpuSSSE3|CpuSSE4_1|CpuSSE4_2|CpuAVX|CpuAVX2|CpuAVX512F|CpuAVX512PF" }, { "CPU_ANY_AVX_FLAGS", - "CpuAVX|CpuAVX2" }, + "CpuAVX|CpuAVX2|CpuAVX512F|CpuAVX512CD|CpuAVX512ER|CpuAVX512PF" }, { "CPU_L1OM_FLAGS", "unknown" }, { "CPU_K1OM_FLAGS", @@ -280,6 +288,10 @@ static initializer operand_type_init[] = "RegXMM" }, { "OPERAND_TYPE_REGYMM", "RegYMM" }, + { "OPERAND_TYPE_REGZMM", + "RegZMM" }, + { "OPERAND_TYPE_REGMASK", + "RegMask" }, { "OPERAND_TYPE_ESSEG", "EsSeg" }, { "OPERAND_TYPE_ACC32", @@ -314,6 +326,8 @@ static initializer operand_type_init[] = "Vec_Imm4" }, { "OPERAND_TYPE_REGBND", "RegBND" }, + { "OPERAND_TYPE_VEC_DISP8", + "Vec_Disp8" }, }; typedef struct bitfield @@ -350,6 +364,10 @@ static bitfield cpu_flags[] = BITFIELD (CpuSSE4_2), BITFIELD (CpuAVX), BITFIELD (CpuAVX2), + BITFIELD (CpuAVX512F), + BITFIELD (CpuAVX512CD), + BITFIELD (CpuAVX512ER), + BITFIELD (CpuAVX512PF), BITFIELD (CpuL1OM), BITFIELD (CpuK1OM), BITFIELD (CpuSSE4a), @@ -389,6 +407,7 @@ static bitfield cpu_flags[] = BITFIELD (CpuPRFCHW), BITFIELD (CpuSMAP), BITFIELD (CpuSHA), + BITFIELD (CpuVREX), BITFIELD (Cpu64), BITFIELD (CpuNo64), BITFIELD (CpuMPX), @@ -449,6 +468,14 @@ static bitfield opcode_modifiers[] = BITFIELD (VecSIB), BITFIELD (SSE2AVX), BITFIELD (NoAVX), + BITFIELD (EVex), + BITFIELD (Masking), + BITFIELD (VecESize), + BITFIELD (Broadcast), + BITFIELD (StaticRounding), + BITFIELD (SAE), + BITFIELD (Disp8MemShift), + BITFIELD (NoDefMask), BITFIELD (OldGcc), BITFIELD (ATTMnemonic), BITFIELD (ATTSyntax), @@ -465,6 +492,8 @@ static bitfield operand_types[] = BITFIELD (RegMMX), BITFIELD (RegXMM), BITFIELD (RegYMM), + BITFIELD (RegZMM), + BITFIELD (RegMask), BITFIELD (Imm1), BITFIELD (Imm8), BITFIELD (Imm8S), @@ -499,10 +528,12 @@ static bitfield operand_types[] = BITFIELD (Tbyte), BITFIELD (Xmmword), BITFIELD (Ymmword), + BITFIELD (Zmmword), BITFIELD (Unspecified), BITFIELD (Anysize), BITFIELD (Vec_Imm4), BITFIELD (RegBND), + BITFIELD (Vec_Disp8), #ifdef OTUnused BITFIELD (OTUnused), #endif |