aboutsummaryrefslogtreecommitdiff
path: root/binutils/sparc-pinsn.c
diff options
context:
space:
mode:
authorMichael Tiemann <tiemann@cygnus>1991-12-15 22:04:01 +0000
committerMichael Tiemann <tiemann@cygnus>1991-12-15 22:04:01 +0000
commit5f4d1571fad0434b0e6751aa10415c19a152b061 (patch)
tree67064316d19a57e3c6b5258fb4fc34f5a0e236ef /binutils/sparc-pinsn.c
parent76d89cb115300b1e3ac9afb93168e9019879ff03 (diff)
downloadgdb-5f4d1571fad0434b0e6751aa10415c19a152b061.zip
gdb-5f4d1571fad0434b0e6751aa10415c19a152b061.tar.gz
gdb-5f4d1571fad0434b0e6751aa10415c19a152b061.tar.bz2
Add missing handlers for v9 operands.
Diffstat (limited to 'binutils/sparc-pinsn.c')
-rw-r--r--binutils/sparc-pinsn.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/binutils/sparc-pinsn.c b/binutils/sparc-pinsn.c
index 003d4b6..bef74f5 100644
--- a/binutils/sparc-pinsn.c
+++ b/binutils/sparc-pinsn.c
@@ -304,10 +304,11 @@ memcpy(&insn,buffer, sizeof (insn));
stream);
break;
- case 'K':
+ case 'G':
print_address ((bfd_vma)
(memaddr
- + (((int) insn.disp21 << 11) >> 11) * 4),
+ /* We use only 19 of the 21 bits. */
+ + (((int) insn.disp21 << 13) >> 13) * 4),
stream);
break;
@@ -315,6 +316,20 @@ memcpy(&insn,buffer, sizeof (insn));
fputs ("%amr", stream);
break;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ fprintf (stream, "fcc%c", *s - '6' + '0');
+ break;
+
+ case 'z':
+ fputs ("icc", stream);
+ break;
+
+ case 'Z':
+ fputs ("xcc", stream);
+ break;
#endif /* NO_V9 */
case 'M':