aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-i386.c
diff options
context:
space:
mode:
Diffstat (limited to 'gas/config/tc-i386.c')
-rw-r--r--gas/config/tc-i386.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index 4262e1e..51166ef 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -8156,7 +8156,8 @@ check_VecOperands (const insn_template *t)
}
/* Check the special Imm4 cases; must be the first operand. */
- if (is_cpu (t, CpuXOP) && t->operands == 5)
+ if ((is_cpu (t, CpuXOP) && t->operands == 5)
+ || (is_cpu (t, CpuAPX_F) && t->opcode_space == SPACE_0F3A))
{
if (i.op[0].imms->X_op != O_constant
|| !fits_in_imm4 (i.op[0].imms->X_add_number))
@@ -8166,7 +8167,8 @@ check_VecOperands (const insn_template *t)
}
/* Turn off Imm<N> so that update_imm won't complain. */
- operand_type_set (&i.types[0], 0);
+ if (t->operands == 5)
+ operand_type_set (&i.types[0], 0);
}
/* Check vector Disp8 operand. */