mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-22 19:09:31 +08:00
2007-10-12 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (process_operands): Simplify implicit xmm0 handling.
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
2007-10-12 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
|
* config/tc-i386.c (process_operands): Simplify implicit xmm0
|
||||||
|
handling.
|
||||||
|
|
||||||
2007-10-12 H.J. Lu <hongjiu.lu@intel.com>
|
2007-10-12 H.J. Lu <hongjiu.lu@intel.com>
|
||||||
|
|
||||||
* config/tc-i386.c (process_operands): Check the firstxmm0
|
* config/tc-i386.c (process_operands): Check the firstxmm0
|
||||||
|
@ -4232,6 +4232,8 @@ process_operands (void)
|
|||||||
|
|
||||||
if (i.tm.opcode_modifier.firstxmm0)
|
if (i.tm.opcode_modifier.firstxmm0)
|
||||||
{
|
{
|
||||||
|
unsigned int j;
|
||||||
|
|
||||||
/* The first operand is implicit and must be xmm0. */
|
/* The first operand is implicit and must be xmm0. */
|
||||||
assert (i.reg_operands && UINTS_EQUAL (i.types[0], regxmm));
|
assert (i.reg_operands && UINTS_EQUAL (i.types[0], regxmm));
|
||||||
if (i.op[0].regs->reg_num != 0)
|
if (i.op[0].regs->reg_num != 0)
|
||||||
@ -4244,17 +4246,19 @@ process_operands (void)
|
|||||||
i.tm.name, register_prefix);
|
i.tm.name, register_prefix);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
i.op[0] = i.op[1];
|
|
||||||
i.op[1] = i.op[2];
|
for (j = 1; j < i.operands; j++)
|
||||||
i.types[0] = i.types[1];
|
{
|
||||||
i.types[1] = i.types[2];
|
i.op[j - 1] = i.op[j];
|
||||||
i.operands--;
|
i.types[j - 1] = i.types[j];
|
||||||
i.reg_operands--;
|
|
||||||
|
|
||||||
/* We need to adjust fields in i.tm since they are used by
|
/* We need to adjust fields in i.tm since they are used by
|
||||||
build_modrm_byte. */
|
build_modrm_byte. */
|
||||||
i.tm.operand_types [0] = i.tm.operand_types [1];
|
i.tm.operand_types [j - 1] = i.tm.operand_types [j];
|
||||||
i.tm.operand_types [1] = i.tm.operand_types [2];
|
}
|
||||||
|
|
||||||
|
i.operands--;
|
||||||
|
i.reg_operands--;
|
||||||
i.tm.operands--;
|
i.tm.operands--;
|
||||||
}
|
}
|
||||||
else if (i.tm.opcode_modifier.regkludge)
|
else if (i.tm.opcode_modifier.regkludge)
|
||||||
|
Reference in New Issue
Block a user