* hppa-dis.c (signed_unsigned_names,mix_half_names,

saturation_names):  New.
        (print_insn_hppa): Add completer codes 'a', 'ch', 'cH', 'cS', and 'c*'.
This commit is contained in:
Jeff Law 1999-08-28 08:47:50 +00:00
parent 96226a686f
commit 1eee34f59f
2 changed files with 36 additions and 0 deletions

View File

@ -1,5 +1,9 @@
Sat Aug 28 00:27:24 1999 Jerry Quinn <jquinn@nortelnetworks.com>
* hppa-dis.c (signed_unsigned_names,mix_half_names,
saturation_names): New.
(print_insn_hppa): Add completer codes 'a', 'ch', 'cH', 'cS', and 'c*'.
* hppa-dis.c (print_insn_hppa): Place completers behind prefix 'c'.
* hppa-dis.c (print_insn_hppa): Add cases for '.', '~'. '$'. and '!'

View File

@ -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;