diff options
author | Jeff Law <law@redhat.com> | 1999-08-28 08:47:50 +0000 |
---|---|---|
committer | Jeff Law <law@redhat.com> | 1999-08-28 08:47:50 +0000 |
commit | 1eee34f59f8734c3f7aaeabcdfb8ba7cdb00a0b1 (patch) | |
tree | 0bcf01d9d36701f3171af1ad25d8f79c3d8bc2ef /opcodes/hppa-dis.c | |
parent | 96226a686f950a41b62a0c587d76c8b06e371475 (diff) | |
download | gdb-1eee34f59f8734c3f7aaeabcdfb8ba7cdb00a0b1.zip gdb-1eee34f59f8734c3f7aaeabcdfb8ba7cdb00a0b1.tar.gz gdb-1eee34f59f8734c3f7aaeabcdfb8ba7cdb00a0b1.tar.bz2 |
* hppa-dis.c (signed_unsigned_names,mix_half_names,
saturation_names): New.
(print_insn_hppa): Add completer codes 'a', 'ch', 'cH', 'cS', and 'c*'.
Diffstat (limited to 'opcodes/hppa-dis.c')
-rw-r--r-- | opcodes/hppa-dis.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/opcodes/hppa-dis.c b/opcodes/hppa-dis.c index 52bc8ce..4a7fd06 100644 --- a/opcodes/hppa-dis.c +++ b/opcodes/hppa-dis.c @@ -125,6 +125,10 @@ static const char float_comp_names[][8] = ",!?<=", ",>", ",?>", ",!<=", ",!?<", ",>=", ",?>=", ",!<", ",!?=", ",<>", ",!=", ",!=t", ",!?", ",<=>", ",true?", ",true" }; +static const char *const signed_unsigned_names[][3] = {",u", ",s"}; +static const char *const mix_half_names[][3] = {",l", ",r"}; +static const char *const saturation_names[][3] = {",us", ",ss", 0, ""}; + /* For a bunch of different instructions form an index into a completer name table. */ @@ -346,6 +350,7 @@ print_insn_hppa (memaddr, info) else fput_fp_reg (GET_FIELD (insn, 11, 15), info); break; + case 'a': case 'b': fput_reg (GET_FIELD (insn, 6, 10), info); break; @@ -441,6 +446,33 @@ print_insn_hppa (memaddr, info) else (*info->fprintf_func) (info->stream, " "); break; + case 'S': + /* EXTRD/W has a following condition. */ + if (*(s + 1) == '?') + (*info->fprintf_func) + (info->stream, "%s", signed_unsigned_names[GET_FIELD + (insn, 21, 21)]); + else + (*info->fprintf_func) + (info->stream, "%s ", signed_unsigned_names[GET_FIELD + (insn, 21, 21)]); + break; + case 'h': + (*info->fprintf_func) + (info->stream, "%s", mix_half_names[GET_FIELD + (insn, 17, 17)]); + break; + case 'H': + (*info->fprintf_func) + (info->stream, "%s", saturation_names[GET_FIELD + (insn, 24, 25)]); + break; + case '*': + (*info->fprintf_func) + (info->stream, ",%d%d%d%d ", + GET_FIELD (insn, 17, 18), GET_FIELD (insn, 20, 21), + GET_FIELD (insn, 22, 23), GET_FIELD (insn, 24, 25)); + break; } break; |