aboutsummaryrefslogtreecommitdiff
path: root/opcodes/hppa-dis.c
diff options
context:
space:
mode:
Diffstat (limited to 'opcodes/hppa-dis.c')
-rw-r--r--opcodes/hppa-dis.c39
1 files changed, 23 insertions, 16 deletions
diff --git a/opcodes/hppa-dis.c b/opcodes/hppa-dis.c
index e2a778f..52bc8ce 100644
--- a/opcodes/hppa-dis.c
+++ b/opcodes/hppa-dis.c
@@ -418,17 +418,30 @@ print_insn_hppa (memaddr, info)
case 'S':
(*info->fprintf_func) (info->stream, "sr%d", extract_3 (insn));
break;
+
+ /* Handle completers. */
case 'c':
- (*info->fprintf_func) (info->stream, "%s ",
- index_compl_names[GET_COMPL (insn)]);
- break;
- case 'C':
- (*info->fprintf_func) (info->stream, "%s ",
- short_ldst_compl_names[GET_COMPL (insn)]);
- break;
- case 'Y':
- (*info->fprintf_func) (info->stream, "%s ",
- short_bytes_compl_names[GET_COMPL (insn)]);
+ switch (*++s)
+ {
+ case 'x':
+ (*info->fprintf_func) (info->stream, "%s ",
+ index_compl_names[GET_COMPL (insn)]);
+ break;
+ case 'm':
+ (*info->fprintf_func) (info->stream, "%s ",
+ short_ldst_compl_names[GET_COMPL (insn)]);
+ break;
+ case 's':
+ (*info->fprintf_func) (info->stream, "%s ",
+ short_bytes_compl_names[GET_COMPL (insn)]);
+ break;
+ case 'Z':
+ if (GET_FIELD (insn, 26, 26))
+ (*info->fprintf_func) (info->stream, ",m ");
+ else
+ (*info->fprintf_func) (info->stream, " ");
+ break;
+ }
break;
/* Handle conditions. */
@@ -647,12 +660,6 @@ print_insn_hppa (memaddr, info)
case 'A':
fput_const (GET_FIELD (insn, 6, 18), info);
break;
- case 'Z':
- if (GET_FIELD (insn, 26, 26))
- (*info->fprintf_func) (info->stream, ",m ");
- else
- (*info->fprintf_func) (info->stream, " ");
- break;
case 'D':
fput_const (GET_FIELD (insn, 6, 31), info);
break;