diff options
Diffstat (limited to 'opcodes/i386-gen.c')
-rw-r--r-- | opcodes/i386-gen.c | 25 |
1 files changed, 6 insertions, 19 deletions
diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c index bd3cd8f..97ded8c 100644 --- a/opcodes/i386-gen.c +++ b/opcodes/i386-gen.c @@ -276,7 +276,7 @@ static const dependency isa_dependencies[] = { "AMX_MOVRS", "AMX_TILE" }, { "AMX_AVX512", - "AMX_TILE|AVX10_2" }, + "AMX_TILE|AVX512F" }, { "KL", "SSE2" }, { "WIDEKL", @@ -356,11 +356,11 @@ static bitfield cpu_flags[] = BITFIELD (3dnow), BITFIELD (3dnowA), BITFIELD (PadLock), - BITFIELD (GMISM2), - BITFIELD (GMICCS), BITFIELD (PadLockRNG2), BITFIELD (PadLockPHE2), BITFIELD (PadLockXMODX), + BITFIELD (GMISM2), + BITFIELD (GMICCS), BITFIELD (SVME), BITFIELD (VMX), BITFIELD (SMX), @@ -540,6 +540,7 @@ static const struct { } operand_classes[] = { CLASS (Reg), CLASS (SReg), + CLASS (RegFP), CLASS (RegCR), CLASS (RegDR), CLASS (RegTR), @@ -1046,20 +1047,6 @@ process_i386_cpu_flag (FILE *table, char *flag, all[Cpu64].value = 1; output_cpu_flags(table, all, ARRAY_SIZE (all), -1, comma, indent, lineno); - - /* For APX_F extension of multiple cpuid enabled insns, we cannot use - APX_F(cpuid_A&cpuid_B) in the opcode table, as the result would fail - to be parsed. Furthermore, the result also wouldn't be quite valid. - However, the assembler's cpu_flags_match() will simply propagate "any" - to "all", zapping "any" afterwards altogether. IOW in this situation - both masks have "&&" meaning. Set the missing flag here. */ - if (all[CpuAMX_TRANSPOSE].value && all[CpuAMX_MOVRS].value) - { - if (!any[CpuAPX_F].value || !any[CpuAMX_MOVRS].value) - fail ("%s: %d: internal error: APX_F=%d AMX_MOVRS=%d\n", - filename, lineno, any[CpuAPX_F].value, any[CpuAMX_MOVRS].value); - any[CpuAMX_TRANSPOSE].value = 1; - } } output_cpu_flags (table, any, ARRAY_SIZE (any), name != NULL, @@ -2061,8 +2048,8 @@ process_i386_opcodes (FILE *table) process_copyright (fp); fprintf (table, "\n/* i386 mnemonics table. */\n\n"); - fprintf (table, "const char i386_mnemonics[] =\n"); - fprintf (fp, "\nextern const char i386_mnemonics[];\n\n"); + fprintf (table, "static const char i386_mnemonics[] =\n"); + fprintf (fp, "\nstatic const char i386_mnemonics[];\n\n"); str = NULL; for (l = strlen (opcode_array[offs = j = 0]->name); j < i; j++) |