diff options
author | Jeff Law <law@redhat.com> | 1999-07-28 08:07:14 +0000 |
---|---|---|
committer | Jeff Law <law@redhat.com> | 1999-07-28 08:07:14 +0000 |
commit | b53fcc20b19699d16c64c5fb0fb311ba17c19a67 (patch) | |
tree | 34f3085ed50b3b19c3b6742b4d59488fc77288c1 /gas/config/tc-hppa.c | |
parent | d60e8dcabe917fedf071ae00337abd166a36d969 (diff) | |
download | gdb-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.c | 24 |
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': { |