x86: change representation of extension opcode

Having a "None" field in the vast majority of entries is needlessly
cluttering the overall table. Instead of this being a separate field,
use a representation matching that of Intel SDM and AMD PM for the main
use of the field: Append the value after a / as the separator.
This commit is contained in:
Jan Beulich
2022-12-16 09:00:23 +01:00
parent de75275fe5
commit 689933867a
3 changed files with 2216 additions and 2214 deletions

View File

@ -1299,8 +1299,10 @@ output_i386_opcode (FILE *table, const char *name, char *str,
/* Find base_opcode. */
base_opcode = next_field (str, ',', &str, last);
/* Find extension_opcode. */
extension_opcode = next_field (str, ',', &str, last);
/* Find extension_opcode, if any. */
extension_opcode = strchr (base_opcode, '/');
if (extension_opcode)
*extension_opcode++ = '\0';
/* Find cpu_flags. */
cpu_flags = next_field (str, ',', &str, last);
@ -1385,7 +1387,8 @@ output_i386_opcode (FILE *table, const char *name, char *str,
filename, lineno, name, 2 * length, opcode);
fprintf (table, " { \"%s\", 0x%0*llx%s, %lu, %s,\n",
name, 2 * (int)length, opcode, end, i, extension_opcode);
name, 2 * (int)length, opcode, end, i,
extension_opcode ? extension_opcode : "None");
process_i386_opcode_modifier (table, opcode_modifier, space, prefix,
operand_types, lineno);

File diff suppressed because it is too large Load Diff

View File

@ -58995,7 +58995,7 @@ static const insn_template i386_optab[] =
1, 0, 0, 0, 0, 0 } },
{ { 7, 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 } } } },
{ "prefetchit0", 0x18, 1, 0x7,
{ "prefetchit0", 0x18, 1, 7,
{ 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 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 },
@ -59008,7 +59008,7 @@ static const insn_template i386_optab[] =
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 } },
{ { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0 } } } },
{ "prefetchit1", 0x18, 1, 0x6,
{ "prefetchit1", 0x18, 1, 6,
{ 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 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 },