aboutsummaryrefslogtreecommitdiff
path: root/gdb/hppa-pinsn.c
diff options
context:
space:
mode:
authorStu Grossman <grossman@cygnus>1993-06-03 23:44:24 +0000
committerStu Grossman <grossman@cygnus>1993-06-03 23:44:24 +0000
commite835b5e7fa8a12d8da88917b038b30af9a39ec7d (patch)
tree029c61974161dc04ed1452fef65a192ec8674cad /gdb/hppa-pinsn.c
parent42d83993823e833e380d7eaaebaecd3a8a68ef4e (diff)
downloadgdb-e835b5e7fa8a12d8da88917b038b30af9a39ec7d.zip
gdb-e835b5e7fa8a12d8da88917b038b30af9a39ec7d.tar.gz
gdb-e835b5e7fa8a12d8da88917b038b30af9a39ec7d.tar.bz2
* Patches from Jeffrey Law <law@cs.utah.edu>.
* hppab-nat.c: Eliminate unnecessary ifdefs for FETCH_INFERIOR_REGISTERS, CANNOT_FETCH_REGISTER, and CANNOT_STORE_REGISTER. (fetch_register): Delete code to handle CANNOT_FETCH_REGISTER. * hppa-pinsn.c: Support 'I', 'J', and 'K' in output templates for 1.1 FP computational instructions.
Diffstat (limited to 'gdb/hppa-pinsn.c')
-rw-r--r--gdb/hppa-pinsn.c25
1 files changed, 24 insertions, 1 deletions
diff --git a/gdb/hppa-pinsn.c b/gdb/hppa-pinsn.c
index ec66865..a22b3d6 100644
--- a/gdb/hppa-pinsn.c
+++ b/gdb/hppa-pinsn.c
@@ -102,7 +102,7 @@ print_insn (memaddr, stream)
fputs_filtered (opcode->name, stream);
- if (!index ("cCY<?!@-+&U>~nZFM", opcode->args[0]))
+ if (!index ("cCY<?!@-+&U>~nZFIM", opcode->args[0]))
fputs_filtered (" ", stream);
for (s = opcode->args; *s != '\0'; ++s)
{
@@ -329,6 +329,29 @@ print_insn (memaddr, stream)
fputs_filtered (float_format_names[GET_FIELD
(insn, 26, 26)], stream);
break;
+ case 'I':
+ /* if no destination completer, need a space here */
+ if (GET_FIELD (insn, 21, 22) == 1)
+ fputs_filtered (float_format_names[GET_FIELD (insn, 20, 20)],
+ stream);
+ else
+ fprintf_filtered (stream, "%s ",
+ float_format_names[GET_FIELD
+ (insn, 20, 20)]);
+ break;
+ case 'J':
+ if (GET_FIELD (insn, 24, 24))
+ fput_reg_r (GET_FIELD (insn, 6, 10), stream);
+ else
+ fput_reg (GET_FIELD (insn, 6, 10), stream);
+
+ break;
+ case 'K':
+ if (GET_FIELD (insn, 19, 19))
+ fput_reg_r (GET_FIELD (insn, 11, 15), stream);
+ else
+ fput_reg (GET_FIELD (insn, 11, 15), stream);
+ break;
case 'M':
fputs_filtered (float_comp_names[GET_FIELD (insn, 27, 31)],
stream);