diff options
author | Jan Beulich <jbeulich@suse.com> | 2022-07-18 11:19:58 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2022-07-18 11:19:58 +0200 |
commit | 37cea58867dd1d0df263e82670fd2e7607539d84 (patch) | |
tree | 7c9f97a350ce39184d9b9d1bb54b1fa06aecf144 /opcodes/i386-gen.c | |
parent | 4319180c8139e579a6337eb020309c95fa1e00b3 (diff) | |
download | gdb-37cea58867dd1d0df263e82670fd2e7607539d84.zip gdb-37cea58867dd1d0df263e82670fd2e7607539d84.tar.gz gdb-37cea58867dd1d0df263e82670fd2e7607539d84.tar.bz2 |
x86: re-order insn template fields
This saves quite a number of shift instructions: The "operands" field
can now be retrieved by just masking (no shift), and extracting the
"extension_opcode" field now only requires a (signed) right shift, with
no prereq left one. (Of course there may be architectures where, in a
cross build, there might be no difference at all, e.g. when there are
suitable bitfield extraction insns.)
Diffstat (limited to 'opcodes/i386-gen.c')
-rw-r--r-- | opcodes/i386-gen.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c index 36cab20..3390d82 100644 --- a/opcodes/i386-gen.c +++ b/opcodes/i386-gen.c @@ -1444,8 +1444,8 @@ output_i386_opcode (FILE *table, const char *name, char *str, fail (_("%s:%d: %s: residual opcode (0x%0*llx) too large\n"), filename, lineno, name, 2 * length, opcode); - fprintf (table, " { \"%s\", 0x%0*llx%s, %s, %lu,\n", - name, 2 * (int)length, opcode, end, extension_opcode, i); + fprintf (table, " { \"%s\", 0x%0*llx%s, %lu, %s,\n", + name, 2 * (int)length, opcode, end, i, extension_opcode); process_i386_opcode_modifier (table, opcode_modifier, space, prefix, operand_types, lineno); |