aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-hppa.c
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>1999-07-28 08:07:14 +0000
committerJeff Law <law@redhat.com>1999-07-28 08:07:14 +0000
commitb53fcc20b19699d16c64c5fb0fb311ba17c19a67 (patch)
tree34f3085ed50b3b19c3b6742b4d59488fc77288c1 /gas/config/tc-hppa.c
parentd60e8dcabe917fedf071ae00337abd166a36d969 (diff)
downloadgdb-b53fcc20b19699d16c64c5fb0fb311ba17c19a67.zip
gdb-b53fcc20b19699d16c64c5fb0fb311ba17c19a67.tar.gz
gdb-b53fcc20b19699d16c64c5fb0fb311ba17c19a67.tar.bz2
* config/tc-hppa.c (pa_ip): Add 'J' and 'K' code
processing.
Diffstat (limited to 'gas/config/tc-hppa.c')
-rw-r--r--gas/config/tc-hppa.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/gas/config/tc-hppa.c b/gas/config/tc-hppa.c
index 82e07d3..073e9e6 100644
--- a/gas/config/tc-hppa.c
+++ b/gas/config/tc-hppa.c
@@ -2468,6 +2468,18 @@ pa_ip (str)
continue;
}
+ /* Float operand 1 similar to 'b' but with l/r registers. */
+ case 'J':
+ {
+ struct pa_11_fp_reg_struct result;
+
+ pa_parse_number (&s, &result);
+ CHECK_FIELD (result.number_part, 31, 0, 0);
+ opcode |= result.number_part << 21;
+ opcode |= (result.l_r_select & 1) << 7;
+ continue;
+ }
+
/* Handle L/R register halves like 'b'. */
case '3':
{
@@ -2513,6 +2525,18 @@ pa_ip (str)
continue;
}
+ /* Float operand 2, like 'x' but with l/r register halves. */
+ case 'K':
+ {
+ struct pa_11_fp_reg_struct result;
+
+ pa_parse_number (&s, &result);
+ CHECK_FIELD (result.number_part, 31, 0, 0);
+ opcode |= (result.number_part & 0x1f) << 16;
+ opcode |= (result.l_r_select & 1) << 12;
+ continue;
+ }
+
/* Handle a 5 bit register field at 10. */
case '4':
{