x86: use local variable in check_VecOperands()

This is just to make a subsequent change a little easier to read.
This commit is contained in:
Jan Beulich
2018-03-22 08:47:16 +01:00
committed by Jan Beulich
parent b8c169f359
commit 32546502f3
2 changed files with 13 additions and 7 deletions

View File

@ -1,3 +1,8 @@
2018-03-22 Jan Beulich <jbeulich@suse.com>
* config/tc-i386.c (check_VecOperands): Latch
i.broadcast->operand into op.
2018-03-22 Jan Beulich <jbeulich@suse.com> 2018-03-22 Jan Beulich <jbeulich@suse.com>
* config/tc-i386.c (match_template): Special case base opcode * config/tc-i386.c (match_template): Special case base opcode

View File

@ -5053,14 +5053,15 @@ check_VecOperands (const insn_template *t)
/* Check if specified broadcast is supported in this instruction, /* Check if specified broadcast is supported in this instruction,
and it's applied to memory operand of DWORD or QWORD type, and it's applied to memory operand of DWORD or QWORD type,
depending on VecESize. */ depending on VecESize. */
op = i.broadcast->operand;
if (i.broadcast->type != t->opcode_modifier.broadcast if (i.broadcast->type != t->opcode_modifier.broadcast
|| !i.types[i.broadcast->operand].bitfield.mem || !i.types[op].bitfield.mem
|| (t->opcode_modifier.vecesize == 0 || (t->opcode_modifier.vecesize == 0
&& !i.types[i.broadcast->operand].bitfield.dword && !i.types[op].bitfield.dword
&& !i.types[i.broadcast->operand].bitfield.unspecified) && !i.types[op].bitfield.unspecified)
|| (t->opcode_modifier.vecesize == 1 || (t->opcode_modifier.vecesize == 1
&& !i.types[i.broadcast->operand].bitfield.qword && !i.types[op].bitfield.qword
&& !i.types[i.broadcast->operand].bitfield.unspecified)) && !i.types[op].bitfield.unspecified))
goto bad_broadcast; goto bad_broadcast;
broadcasted_opnd_size = t->opcode_modifier.vecesize ? 64 : 32; broadcasted_opnd_size = t->opcode_modifier.vecesize ? 64 : 32;
@ -5076,9 +5077,9 @@ check_VecOperands (const insn_template *t)
goto bad_broadcast; goto bad_broadcast;
if ((broadcasted_opnd_size == 256 if ((broadcasted_opnd_size == 256
&& !t->operand_types[i.broadcast->operand].bitfield.ymmword) && !t->operand_types[op].bitfield.ymmword)
|| (broadcasted_opnd_size == 512 || (broadcasted_opnd_size == 512
&& !t->operand_types[i.broadcast->operand].bitfield.zmmword)) && !t->operand_types[op].bitfield.zmmword))
{ {
bad_broadcast: bad_broadcast:
i.error = unsupported_broadcast; i.error = unsupported_broadcast;