diff options
author | Jan Beulich <jbeulich@suse.com> | 2021-03-25 08:20:55 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2021-03-25 08:20:55 +0100 |
commit | 5e74b4959bdeb5660c5e6f3e7a293269043a9a67 (patch) | |
tree | ac4646d88824e35566f0313f9ce547a7f76c6b82 | |
parent | 596a02ff558a88b7ad75a9904fe3d6b1615fdd1a (diff) | |
download | gdb-5e74b4959bdeb5660c5e6f3e7a293269043a9a67.zip gdb-5e74b4959bdeb5660c5e6f3e7a293269043a9a67.tar.gz gdb-5e74b4959bdeb5660c5e6f3e7a293269043a9a67.tar.bz2 |
x86: fix CMPXCHG8B special case when disallowing q suffix outside of 64-bit mode
In match_template() i.tm hasn't been filled yet, so it is necessarily t
which needs checking. This is only a latent issue as no other templates
with the same base_opcode have an extension_opcode of 1.
-rw-r--r-- | gas/ChangeLog | 4 | ||||
-rw-r--r-- | gas/config/tc-i386.c | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 1b9c1fb..a540566 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,9 @@ 2021-03-25 Jan Beulich <jbeulich@suse.com> + * config/tc-i386.c (match_template): Use t instead of i.tm. + +2021-03-25 Jan Beulich <jbeulich@suse.com> + * testsuite/gas/i386/avx512f-nondef.s: Add vgather cases. * testsuite/gas/i386/x86-64-vgather-check.s: Add cases with colliding registers in the upper half of the space. diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 785d0c4..a2ba8d8 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -6290,7 +6290,7 @@ match_template (char mnem_suffix) if (((i.suffix == QWORD_MNEM_SUFFIX && flag_code != CODE_64BIT && !(t->base_opcode == 0xfc7 - && i.tm.opcode_modifier.opcodeprefix == PREFIX_NONE + && t->opcode_modifier.opcodeprefix == PREFIX_NONE && t->extension_opcode == 1) /* cmpxchg8b */) || (i.suffix == LONG_MNEM_SUFFIX && !cpu_arch_flags.bitfield.cpui386)) |