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.
? 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;