mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-17 16:05:56 +08:00
2003-08-05 Jason Eckhardt <jle@rice.edu>
* config/tc-i860.c (i860_process_insn): Don't handle dual-bit setting during flop argument parsing. Instead, do it after instruction is fully parsed.
This commit is contained in:
@ -1,3 +1,9 @@
|
|||||||
|
2003-08-05 Jason Eckhardt <jle@rice.edu>
|
||||||
|
|
||||||
|
* config/tc-i860.c (i860_process_insn): Don't handle dual-bit
|
||||||
|
setting during flop argument parsing. Instead, do it after
|
||||||
|
instruction is fully parsed.
|
||||||
|
|
||||||
2003-08-05 Jason Eckhardt <jle@rice.edu>
|
2003-08-05 Jason Eckhardt <jle@rice.edu>
|
||||||
|
|
||||||
* doc/c-i860.texi: Mention that .dual, .enddual, and .atmp
|
* doc/c-i860.texi: Mention that .dual, .enddual, and .atmp
|
||||||
|
@ -638,12 +638,6 @@ i860_process_insn (char *str)
|
|||||||
|
|
||||||
case 'g':
|
case 'g':
|
||||||
opcode |= mask << 16;
|
opcode |= mask << 16;
|
||||||
if (dual_mode != DUAL_OFF)
|
|
||||||
opcode |= (1 << 9);
|
|
||||||
if (dual_mode == DUAL_DDOT)
|
|
||||||
dual_mode = DUAL_OFF;
|
|
||||||
if (dual_mode == DUAL_ONDDOT)
|
|
||||||
dual_mode = DUAL_ON;
|
|
||||||
if ((opcode & (1 << 10)) && mask != 0
|
if ((opcode & (1 << 10)) && mask != 0
|
||||||
&& (mask == ((opcode >> 11) & 0x1f)))
|
&& (mask == ((opcode >> 11) & 0x1f)))
|
||||||
as_warn (_("Pipelined instruction: fsrc1 = fdest"));
|
as_warn (_("Pipelined instruction: fsrc1 = fdest"));
|
||||||
@ -934,6 +928,21 @@ i860_process_insn (char *str)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Set the dual bit on this instruction if necessary. */
|
||||||
|
if (dual_mode != DUAL_OFF)
|
||||||
|
{
|
||||||
|
if ((opcode & 0xfc000000) == 0x48000000 || opcode == 0xb0000000)
|
||||||
|
{
|
||||||
|
opcode |= (1 << 9);
|
||||||
|
if (dual_mode == DUAL_DDOT)
|
||||||
|
dual_mode = DUAL_OFF;
|
||||||
|
else if (dual_mode == DUAL_ONDDOT)
|
||||||
|
dual_mode = DUAL_ON;
|
||||||
|
}
|
||||||
|
else if (dual_mode == DUAL_DDOT || dual_mode == DUAL_ONDDOT)
|
||||||
|
as_bad (_("Prefix 'd.' invalid for instruction `%s'"), insn->name);
|
||||||
|
}
|
||||||
|
|
||||||
the_insn.opcode = opcode;
|
the_insn.opcode = opcode;
|
||||||
|
|
||||||
/* Only recognize XP instructions when the user has requested it. */
|
/* Only recognize XP instructions when the user has requested it. */
|
||||||
|
Reference in New Issue
Block a user