aboutsummaryrefslogtreecommitdiff
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
parentd60e8dcabe917fedf071ae00337abd166a36d969 (diff)
downloadfsf-binutils-gdb-b53fcc20b19699d16c64c5fb0fb311ba17c19a67.zip
fsf-binutils-gdb-b53fcc20b19699d16c64c5fb0fb311ba17c19a67.tar.gz
fsf-binutils-gdb-b53fcc20b19699d16c64c5fb0fb311ba17c19a67.tar.bz2
* config/tc-hppa.c (pa_ip): Add 'J' and 'K' code
processing.
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-hppa.c24
2 files changed, 29 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index d9a2e84..3b535ad 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+Wed Jul 28 02:04:24 1999 "Jerry Quinn" <jquinn@nortelnetworks.com>
+
+ * config/tc-hppa.c (pa_ip): Add 'J' and 'K' code
+ processing.
+
1999-07-27 Ian Lance Taylor <ian@zembu.com>
* config/tc-sparc.h (tc_fix_adjustable): Don't adjust GOT, PLT, or
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':
{