aboutsummaryrefslogtreecommitdiff
path: root/opcodes/i386-gen.c
diff options
context:
space:
mode:
Diffstat (limited to 'opcodes/i386-gen.c')
-rw-r--r--opcodes/i386-gen.c25
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++)