x86: derive DispN from BaseIndex
BaseIndex implies - with the exception of string instructions the optional presence of a displacement. This is almost completely uniform for all instructions (the sole exception being MPX ones, which don't allow 16-bit addressing and hence Disp16), so there's no point in explicitly stating this in the main opcode table. Drop those explict specifications in favor of adding logic to i386-gen, shrinking the table size quite a bit and hence making it more readable. The opcodes/i386-tbl.h changes are due to a few cases where pointless Disp* still hadn't been removed from their insns.
This commit is contained in:
parent
b5014f7af2
commit
7ac2002247
4 changed files with 4106 additions and 4052 deletions
|
@ -1,3 +1,20 @@
|
||||||
|
2017-11-29 Jan Beulich <jbeulich@suse.com>
|
||||||
|
|
||||||
|
* i386-gen.c (active_cpu_flags, active_isstring, enum stage):
|
||||||
|
New.
|
||||||
|
(output_cpu_flags): Update active_cpu_flags.
|
||||||
|
(process_i386_opcode_modifier): Update active_isstring.
|
||||||
|
(output_operand_type): Rename "macro" parameter to "stage",
|
||||||
|
changing its type.
|
||||||
|
(process_i386_operand_type): Likewise. Track presence of
|
||||||
|
BaseIndex and emit DispN accordingly.
|
||||||
|
(output_i386_opcode, process_i386_registers,
|
||||||
|
process_i386_initializers): Adjust calls to
|
||||||
|
process_i386_operand_type() for its changed parameter type.
|
||||||
|
* i386-opc.tbl: Drop Disp8, Disp16, Disp32, and Disp32S from
|
||||||
|
all insns operands having BaseIndex set.
|
||||||
|
* i386-tbl.h: Re-generate.
|
||||||
|
|
||||||
2017-11-29 Jan Beulich <jbeulich@suse.com>
|
2017-11-29 Jan Beulich <jbeulich@suse.com>
|
||||||
|
|
||||||
* i386-gen.c (operand_type_init): Remove OPERAND_TYPE_VEC_DISP8
|
* i386-gen.c (operand_type_init): Remove OPERAND_TYPE_VEC_DISP8
|
||||||
|
|
|
@ -686,6 +686,8 @@ static bitfield operand_types[] =
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char *filename;
|
static const char *filename;
|
||||||
|
static i386_cpu_flags active_cpu_flags;
|
||||||
|
static int active_isstring;
|
||||||
|
|
||||||
static int
|
static int
|
||||||
compare (const void *x, const void *y)
|
compare (const void *x, const void *y)
|
||||||
|
@ -876,6 +878,8 @@ output_cpu_flags (FILE *table, bitfield *flags, unsigned int size,
|
||||||
{
|
{
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
|
memset (&active_cpu_flags, 0, sizeof(active_cpu_flags));
|
||||||
|
|
||||||
fprintf (table, "%s{ { ", indent);
|
fprintf (table, "%s{ { ", indent);
|
||||||
|
|
||||||
for (i = 0; i < size - 1; i++)
|
for (i = 0; i < size - 1; i++)
|
||||||
|
@ -892,6 +896,8 @@ output_cpu_flags (FILE *table, bitfield *flags, unsigned int size,
|
||||||
else
|
else
|
||||||
fprintf (table, "\n %s", indent);
|
fprintf (table, "\n %s", indent);
|
||||||
}
|
}
|
||||||
|
if (flags[i].value)
|
||||||
|
active_cpu_flags.array[i / 32] |= 1U << (i % 32);
|
||||||
}
|
}
|
||||||
|
|
||||||
fprintf (table, "%d } }%s\n", flags[i].value, comma);
|
fprintf (table, "%d } }%s\n", flags[i].value, comma);
|
||||||
|
@ -988,6 +994,8 @@ process_i386_opcode_modifier (FILE *table, char *mod, int lineno)
|
||||||
char *str, *next, *last;
|
char *str, *next, *last;
|
||||||
bitfield modifiers [ARRAY_SIZE (opcode_modifiers)];
|
bitfield modifiers [ARRAY_SIZE (opcode_modifiers)];
|
||||||
|
|
||||||
|
active_isstring = 0;
|
||||||
|
|
||||||
/* Copy the default opcode modifier. */
|
/* Copy the default opcode modifier. */
|
||||||
memcpy (modifiers, opcode_modifiers, sizeof (modifiers));
|
memcpy (modifiers, opcode_modifiers, sizeof (modifiers));
|
||||||
|
|
||||||
|
@ -998,16 +1006,26 @@ process_i386_opcode_modifier (FILE *table, char *mod, int lineno)
|
||||||
{
|
{
|
||||||
str = next_field (next, '|', &next, last);
|
str = next_field (next, '|', &next, last);
|
||||||
if (str)
|
if (str)
|
||||||
|
{
|
||||||
set_bitfield (str, modifiers, 1, ARRAY_SIZE (modifiers),
|
set_bitfield (str, modifiers, 1, ARRAY_SIZE (modifiers),
|
||||||
lineno);
|
lineno);
|
||||||
|
if (strcasecmp(str, "IsString") == 0)
|
||||||
|
active_isstring = 1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
output_opcode_modifier (table, modifiers, ARRAY_SIZE (modifiers));
|
output_opcode_modifier (table, modifiers, ARRAY_SIZE (modifiers));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum stage {
|
||||||
|
stage_macros,
|
||||||
|
stage_opcodes,
|
||||||
|
stage_registers,
|
||||||
|
};
|
||||||
|
|
||||||
static void
|
static void
|
||||||
output_operand_type (FILE *table, bitfield *types, unsigned int size,
|
output_operand_type (FILE *table, bitfield *types, unsigned int size,
|
||||||
int macro, const char *indent)
|
enum stage stage, const char *indent)
|
||||||
{
|
{
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
|
@ -1022,7 +1040,7 @@ output_operand_type (FILE *table, bitfield *types, unsigned int size,
|
||||||
if (((i + 1) % 20) == 0)
|
if (((i + 1) % 20) == 0)
|
||||||
{
|
{
|
||||||
/* We need \\ for macro. */
|
/* We need \\ for macro. */
|
||||||
if (macro)
|
if (stage == stage_macros)
|
||||||
fprintf (table, " \\\n%s", indent);
|
fprintf (table, " \\\n%s", indent);
|
||||||
else
|
else
|
||||||
fprintf (table, "\n%s", indent);
|
fprintf (table, "\n%s", indent);
|
||||||
|
@ -1033,7 +1051,7 @@ output_operand_type (FILE *table, bitfield *types, unsigned int size,
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
process_i386_operand_type (FILE *table, char *op, int macro,
|
process_i386_operand_type (FILE *table, char *op, enum stage stage,
|
||||||
const char *indent, int lineno)
|
const char *indent, int lineno)
|
||||||
{
|
{
|
||||||
char *str, *next, *last;
|
char *str, *next, *last;
|
||||||
|
@ -1044,15 +1062,32 @@ process_i386_operand_type (FILE *table, char *op, int macro,
|
||||||
|
|
||||||
if (strcmp (op, "0"))
|
if (strcmp (op, "0"))
|
||||||
{
|
{
|
||||||
|
int baseindex = 0;
|
||||||
|
|
||||||
last = op + strlen (op);
|
last = op + strlen (op);
|
||||||
for (next = op; next && next < last; )
|
for (next = op; next && next < last; )
|
||||||
{
|
{
|
||||||
str = next_field (next, '|', &next, last);
|
str = next_field (next, '|', &next, last);
|
||||||
if (str)
|
if (str)
|
||||||
|
{
|
||||||
set_bitfield (str, types, 1, ARRAY_SIZE (types), lineno);
|
set_bitfield (str, types, 1, ARRAY_SIZE (types), lineno);
|
||||||
|
if (strcasecmp(str, "BaseIndex") == 0)
|
||||||
|
baseindex = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
output_operand_type (table, types, ARRAY_SIZE (types), macro,
|
|
||||||
|
if (stage == stage_opcodes && baseindex && !active_isstring)
|
||||||
|
{
|
||||||
|
set_bitfield("Disp8", types, 1, ARRAY_SIZE (types), lineno);
|
||||||
|
if (!active_cpu_flags.bitfield.cpu64
|
||||||
|
&& !active_cpu_flags.bitfield.cpumpx)
|
||||||
|
set_bitfield("Disp16", types, 1, ARRAY_SIZE (types), lineno);
|
||||||
|
set_bitfield("Disp32", types, 1, ARRAY_SIZE (types), lineno);
|
||||||
|
if (!active_cpu_flags.bitfield.cpuno64)
|
||||||
|
set_bitfield("Disp32S", types, 1, ARRAY_SIZE (types), lineno);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
output_operand_type (table, types, ARRAY_SIZE (types), stage,
|
||||||
indent);
|
indent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1140,14 +1175,15 @@ output_i386_opcode (FILE *table, const char *name, char *str,
|
||||||
if (operand_types[i] == NULL || *operand_types[i] == '0')
|
if (operand_types[i] == NULL || *operand_types[i] == '0')
|
||||||
{
|
{
|
||||||
if (i == 0)
|
if (i == 0)
|
||||||
process_i386_operand_type (table, "0", 0, "\t ", lineno);
|
process_i386_operand_type (table, "0", stage_opcodes, "\t ",
|
||||||
|
lineno);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i != 0)
|
if (i != 0)
|
||||||
fprintf (table, ",\n ");
|
fprintf (table, ",\n ");
|
||||||
|
|
||||||
process_i386_operand_type (table, operand_types[i], 0,
|
process_i386_operand_type (table, operand_types[i], stage_opcodes,
|
||||||
"\t ", lineno);
|
"\t ", lineno);
|
||||||
}
|
}
|
||||||
fprintf (table, " } },\n");
|
fprintf (table, " } },\n");
|
||||||
|
@ -1309,7 +1345,7 @@ process_i386_opcodes (FILE *table)
|
||||||
process_i386_opcode_modifier (table, "0", -1);
|
process_i386_opcode_modifier (table, "0", -1);
|
||||||
|
|
||||||
fprintf (table, " { ");
|
fprintf (table, " { ");
|
||||||
process_i386_operand_type (table, "0", 0, "\t ", -1);
|
process_i386_operand_type (table, "0", stage_opcodes, "\t ", -1);
|
||||||
fprintf (table, " } }\n");
|
fprintf (table, " } }\n");
|
||||||
|
|
||||||
fprintf (table, "};\n");
|
fprintf (table, "};\n");
|
||||||
|
@ -1378,7 +1414,8 @@ process_i386_registers (FILE *table)
|
||||||
|
|
||||||
fprintf (table, " { \"%s\",\n ", reg_name);
|
fprintf (table, " { \"%s\",\n ", reg_name);
|
||||||
|
|
||||||
process_i386_operand_type (table, reg_type, 0, "\t", lineno);
|
process_i386_operand_type (table, reg_type, stage_registers, "\t",
|
||||||
|
lineno);
|
||||||
|
|
||||||
/* Find 32-bit Dwarf2 register number. */
|
/* Find 32-bit Dwarf2 register number. */
|
||||||
dw2_32_num = next_field (str, ',', &str, last);
|
dw2_32_num = next_field (str, ',', &str, last);
|
||||||
|
@ -1422,7 +1459,7 @@ process_i386_initializers (void)
|
||||||
{
|
{
|
||||||
fprintf (fp, "\n\n#define %s \\\n ", operand_type_init[i].name);
|
fprintf (fp, "\n\n#define %s \\\n ", operand_type_init[i].name);
|
||||||
init = xstrdup (operand_type_init[i].init);
|
init = xstrdup (operand_type_init[i].init);
|
||||||
process_i386_operand_type (fp, init, 1, " ", -1);
|
process_i386_operand_type (fp, init, stage_macros, " ", -1);
|
||||||
free (init);
|
free (init);
|
||||||
}
|
}
|
||||||
fprintf (fp, "\n");
|
fprintf (fp, "\n");
|
||||||
|
|
8046
opcodes/i386-opc.tbl
8046
opcodes/i386-opc.tbl
File diff suppressed because it is too large
Load diff
|
@ -17823,10 +17823,10 @@ const insn_template i386_optab[] =
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0 },
|
0, 0, 0, 0, 0, 0 },
|
||||||
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
|
0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } } } },
|
0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } } } },
|
||||||
{ "cmpsd", 3, 0xf2c2, None, 1,
|
{ "cmpsd", 3, 0xf2c2, None, 1,
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
@ -18489,10 +18489,10 @@ const insn_template i386_optab[] =
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0 },
|
0, 0, 0, 0, 0, 0 },
|
||||||
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
|
0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } },
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } } } },
|
0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } } } },
|
||||||
{ "movsd", 2, 0xf211, None, 1,
|
{ "movsd", 2, 0xf211, None, 1,
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
@ -23573,7 +23573,7 @@ const insn_template i386_optab[] =
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
||||||
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 0, 0, 1, 0, 0, 0, 0 } },
|
0, 0, 1, 0, 0, 1, 0, 0, 0, 0 } },
|
||||||
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
@ -23593,7 +23593,7 @@ const insn_template i386_optab[] =
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
||||||
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 0, 0, 1, 0, 0, 0, 0 } },
|
0, 0, 1, 0, 0, 1, 0, 0, 0, 0 } },
|
||||||
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
@ -23613,7 +23613,7 @@ const insn_template i386_optab[] =
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
||||||
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 0, 0, 1, 0, 0, 0, 0 } },
|
0, 0, 1, 0, 0, 1, 0, 0, 0, 0 } },
|
||||||
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
@ -23633,7 +23633,7 @@ const insn_template i386_optab[] =
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
||||||
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 0, 0, 1, 0, 0, 0, 0 } },
|
0, 0, 1, 0, 0, 1, 0, 0, 0, 0 } },
|
||||||
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
@ -23653,7 +23653,7 @@ const insn_template i386_optab[] =
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
||||||
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 0, 0, 1, 0, 0, 0, 0 } },
|
0, 0, 1, 0, 0, 1, 0, 0, 0, 0 } },
|
||||||
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
@ -23673,7 +23673,7 @@ const insn_template i386_optab[] =
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
||||||
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 0, 0, 1, 0, 0, 0, 0 } },
|
0, 0, 1, 0, 0, 1, 0, 0, 0, 0 } },
|
||||||
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
@ -23693,7 +23693,7 @@ const insn_template i386_optab[] =
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
||||||
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 0, 0, 1, 0, 0, 0, 0 } },
|
0, 0, 1, 0, 0, 1, 0, 0, 0, 0 } },
|
||||||
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
@ -23713,7 +23713,7 @@ const insn_template i386_optab[] =
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
||||||
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 0, 0, 1, 0, 0, 0, 0 } },
|
0, 0, 1, 0, 0, 1, 0, 0, 0, 0 } },
|
||||||
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
@ -48375,7 +48375,7 @@ const insn_template i386_optab[] =
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
||||||
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 0, 0, 1, 0, 0, 0, 0 } },
|
0, 0, 1, 0, 0, 1, 0, 0, 0, 0 } },
|
||||||
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
@ -48395,7 +48395,7 @@ const insn_template i386_optab[] =
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
||||||
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 0, 0, 1, 0, 0, 0, 0 } },
|
0, 0, 1, 0, 0, 1, 0, 0, 0, 0 } },
|
||||||
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
@ -48415,7 +48415,7 @@ const insn_template i386_optab[] =
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
||||||
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 0, 0, 1, 0, 0, 0, 0 } },
|
0, 0, 1, 0, 0, 1, 0, 0, 0, 0 } },
|
||||||
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
@ -48435,7 +48435,7 @@ const insn_template i386_optab[] =
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
||||||
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 0, 0, 1, 0, 0, 0, 0 } },
|
0, 0, 1, 0, 0, 1, 0, 0, 0, 0 } },
|
||||||
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
@ -101201,7 +101201,7 @@ const insn_template i386_optab[] =
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } } } },
|
0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } } } },
|
||||||
{ "wrussd", 2, 0x660f38f5, None, 3,
|
{ "wrussd", 2, 0x660f38f5, None, 3,
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
@ -101235,7 +101235,7 @@ const insn_template i386_optab[] =
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } },
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } } } },
|
0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } } } },
|
||||||
{ "setssbsy", 0, 0xf30f01e8, None, 3,
|
{ "setssbsy", 0, 0xf30f01e8, None, 3,
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue