diff options
author | Jan Beulich <jbeulich@suse.com> | 2024-03-11 08:23:11 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2024-03-11 08:23:11 +0100 |
commit | ec6b11e7ec394d25dd50addcbdaeca46a4a1eda6 (patch) | |
tree | 3ee7239713787406ccd5d27241f4fb29e50eb2db /gas | |
parent | 788b11d9c664ecee5bd9a511a8317045e806a075 (diff) | |
download | gdb-ec6b11e7ec394d25dd50addcbdaeca46a4a1eda6.zip gdb-ec6b11e7ec394d25dd50addcbdaeca46a4a1eda6.tar.gz gdb-ec6b11e7ec394d25dd50addcbdaeca46a4a1eda6.tar.bz2 |
x86/APX: permit wider than 4-bit immediates with V{EXTRACT,INSERT}{F,I}128
These aren't useful, but can be encoded for their AVX forms and hence
should also be permitted for the APX surrogates. Extend the respective
conditional by a base opcode check, to restrict it to VROUND{P,S}{S,D}.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/config/tc-i386.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 4961c2a..8790e1b 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -8230,7 +8230,9 @@ check_VecOperands (const insn_template *t) /* Check the special Imm4 cases; must be the first operand. */ if ((is_cpu (t, CpuXOP) && t->operands == 5) - || (is_cpu (t, CpuAPX_F) && t->opcode_space == SPACE_0F3A)) + || (t->opcode_space == SPACE_0F3A + && (t->base_opcode | 3) == 0x0b + && is_cpu (t, CpuAPX_F))) { if (i.op[0].imms->X_op != O_constant || !fits_in_imm4 (i.op[0].imms->X_add_number)) |