[binutils-gdb] x86/APX: permit wider than 4-bit immediates with V{EXTRACT, INSERT}{F, I}128
Jan Beulich
jbeulich@sourceware.org
Mon Mar 11 07:24:10 GMT 2024
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=ec6b11e7ec394d25dd50addcbdaeca46a4a1eda6
commit ec6b11e7ec394d25dd50addcbdaeca46a4a1eda6
Author: Jan Beulich <jbeulich@suse.com>
Date: Mon Mar 11 08:23:11 2024 +0100
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}.
Diff:
---
gas/config/tc-i386.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index 4961c2aa544..8790e1b8b59 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))
More information about the Binutils-cvs
mailing list