mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2025-02-18 00:18:11 +00: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:
parent
9d7e2ba5ae
commit
07c7854e59
@ -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>
|
||||
|
||||
* doc/c-i860.texi: Mention that .dual, .enddual, and .atmp
|
||||
|
@ -638,12 +638,6 @@ i860_process_insn (char *str)
|
||||
|
||||
case 'g':
|
||||
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
|
||||
&& (mask == ((opcode >> 11) & 0x1f)))
|
||||
as_warn (_("Pipelined instruction: fsrc1 = fdest"));
|
||||
@ -934,6 +928,21 @@ i860_process_insn (char *str)
|
||||
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;
|
||||
|
||||
/* Only recognize XP instructions when the user has requested it. */
|
||||
|
Loading…
x
Reference in New Issue
Block a user