mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-08-06 14:49:38 +08:00
x86: tighten .insn SAE and broadcast checking
SAE / embedded rounding are invalid when there's the memory operand, as the bit encoding this specifies broadcast in that case. Broadcast needs to be specified on the memory operand.
This commit is contained in:
@ -11546,8 +11546,9 @@ s_insn (int dummy ATTRIBUTE_UNUSED)
|
||||
? i.broadcast.type || i.broadcast.bytes
|
||||
|| i.rounding.type != rc_none
|
||||
|| i.mask.reg
|
||||
: (i.broadcast.type || i.broadcast.bytes)
|
||||
&& i.rounding.type != rc_none))
|
||||
: (i.mem_operands && i.rounding.type != rc_none)
|
||||
|| ((i.broadcast.type || i.broadcast.bytes)
|
||||
&& !(i.flags[i.broadcast.operand] & Operand_Mem))))
|
||||
{
|
||||
as_bad (_("conflicting .insn operands"));
|
||||
goto done;
|
||||
|
Reference in New Issue
Block a user