* config/tc-hppa.c (pa_ip): Handle PA2.0 unit completers. Handle

'B' operand for PA2.0 bb instruction.
This commit is contained in:
Jeff Law 1999-11-25 03:27:35 +00:00
parent 50e05050cd
commit afbf211f5a
2 changed files with 43 additions and 0 deletions

View File

@ -1,3 +1,8 @@
Wed Nov 24 20:27:58 1999 Jeffrey A Law (law@cygnus.com)
* config/tc-hppa.c (pa_ip): Handle PA2.0 unit completers. Handle
'B' operand for PA2.0 bb instruction.
1999-11-18 Nick Clifton <nickc@cygnus.com>
* config/tc-mcore.h (TC_FORCE_RELOCATION): Define for Mcore-pe

View File

@ -2794,6 +2794,30 @@ pa_ip (str)
flag = 1;
s += 3;
}
else if (strncasecmp (s, "swz", 3) == 0)
{
cmpltr = 1;
flag = 0;
s += 3;
}
else if (strncasecmp (s, "swc", 3) == 0)
{
cmpltr = 5;
flag = 0;
s += 3;
}
else if (strncasecmp (s, "nwz", 3) == 0)
{
cmpltr = 1;
flag = 1;
s += 3;
}
else if (strncasecmp (s, "nwc", 3) == 0)
{
cmpltr = 5;
flag = 1;
s += 3;
}
/* ",*" is a valid condition. */
else if (*args != 'U')
as_bad (_("Invalid Unit Instruction Condition."));
@ -3307,6 +3331,20 @@ pa_ip (str)
opcode |= (num & 0x20) << 6;
INSERT_FIELD_AND_CONTINUE (opcode, num & 0x1f, 5);
/* Handle a 5 bit immediate at 10 with 'd' as the complement
of the high bit of the immediate. */
case 'B':
num = pa_get_absolute_expression (&the_insn, &s);
if (strict && the_insn.exp.X_op != O_constant)
break;
s = expr_end;
CHECK_FIELD (num, 63, 0, strict);
if (num & 0x20)
;
else
opcode |= (1 << 13);
INSERT_FIELD_AND_CONTINUE (opcode, num & 0x1f, 21);
/* Handle a 5 bit immediate at 10. */
case 'Q':
num = pa_get_absolute_expression (&the_insn, &s);