mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-21 18:39:34 +08:00
* hppa-dis.c (print_insn_hppa): Replace 'f' by 'v'. Prefix float
register args by 'f'.
This commit is contained in:
@ -1,5 +1,8 @@
|
|||||||
Sat Aug 28 00:27:24 1999 Jerry Quinn <jquinn@nortelnetworks.com>
|
Sat Aug 28 00:27:24 1999 Jerry Quinn <jquinn@nortelnetworks.com>
|
||||||
|
|
||||||
|
* hppa-dis.c (print_insn_hppa): Replace 'f' by 'v'. Prefix float
|
||||||
|
register args by 'f'.
|
||||||
|
|
||||||
* hppa-dis.c (print_insn_hppa): Add args q, %, !, and |.
|
* hppa-dis.c (print_insn_hppa): Add args q, %, !, and |.
|
||||||
|
|
||||||
* hppa-dis.c (MASK_10, read_write_names, add_compl_names,
|
* hppa-dis.c (MASK_10, read_write_names, add_compl_names,
|
||||||
|
@ -356,12 +356,6 @@ print_insn_hppa (memaddr, info)
|
|||||||
case 'x':
|
case 'x':
|
||||||
fput_reg (GET_FIELD (insn, 11, 15), info);
|
fput_reg (GET_FIELD (insn, 11, 15), info);
|
||||||
break;
|
break;
|
||||||
case 'X':
|
|
||||||
if (GET_FIELD (insn, 25, 25))
|
|
||||||
fput_fp_reg_r (GET_FIELD (insn, 11, 15), info);
|
|
||||||
else
|
|
||||||
fput_fp_reg (GET_FIELD (insn, 11, 15), info);
|
|
||||||
break;
|
|
||||||
case 'a':
|
case 'a':
|
||||||
case 'b':
|
case 'b':
|
||||||
fput_reg (GET_FIELD (insn, 6, 10), info);
|
fput_reg (GET_FIELD (insn, 6, 10), info);
|
||||||
@ -369,25 +363,59 @@ print_insn_hppa (memaddr, info)
|
|||||||
case '^':
|
case '^':
|
||||||
fput_creg (GET_FIELD (insn, 6, 10), info);
|
fput_creg (GET_FIELD (insn, 6, 10), info);
|
||||||
break;
|
break;
|
||||||
case 'E':
|
|
||||||
fput_fp_reg (GET_FIELD (insn, 6, 10), info);
|
|
||||||
break;
|
|
||||||
case '!':
|
|
||||||
fput_creg (11, info);
|
|
||||||
break;
|
|
||||||
case 't':
|
case 't':
|
||||||
fput_reg (GET_FIELD (insn, 27, 31), info);
|
fput_reg (GET_FIELD (insn, 27, 31), info);
|
||||||
break;
|
break;
|
||||||
case 'v':
|
|
||||||
|
/* Handle floating point registers. */
|
||||||
|
case 'f':
|
||||||
|
switch (*++s)
|
||||||
|
{
|
||||||
|
case 't':
|
||||||
|
fput_fp_reg (GET_FIELD (insn, 27, 31), info);
|
||||||
|
break;
|
||||||
|
case 'T':
|
||||||
if (GET_FIELD (insn, 25, 25))
|
if (GET_FIELD (insn, 25, 25))
|
||||||
fput_fp_reg_r (GET_FIELD (insn, 27, 31), info);
|
fput_fp_reg_r (GET_FIELD (insn, 27, 31), info);
|
||||||
else
|
else
|
||||||
fput_fp_reg (GET_FIELD (insn, 27, 31), info);
|
fput_fp_reg (GET_FIELD (insn, 27, 31), info);
|
||||||
break;
|
break;
|
||||||
case 'y':
|
case 'a':
|
||||||
fput_fp_reg (GET_FIELD (insn, 27, 31), info);
|
if (GET_FIELD (insn, 25, 25))
|
||||||
|
fput_fp_reg_r (GET_FIELD (insn, 6, 10), info);
|
||||||
|
else
|
||||||
|
fput_fp_reg (GET_FIELD (insn, 6, 10), info);
|
||||||
break;
|
break;
|
||||||
case '4':
|
case 'A':
|
||||||
|
if (GET_FIELD (insn, 24, 24))
|
||||||
|
fput_fp_reg_r (GET_FIELD (insn, 6, 10), info);
|
||||||
|
else
|
||||||
|
fput_fp_reg (GET_FIELD (insn, 6, 10), info);
|
||||||
|
|
||||||
|
break;
|
||||||
|
case 'b':
|
||||||
|
if (GET_FIELD (insn, 25, 25))
|
||||||
|
fput_fp_reg_r (GET_FIELD (insn, 11, 15), info);
|
||||||
|
else
|
||||||
|
fput_fp_reg (GET_FIELD (insn, 11, 15), info);
|
||||||
|
break;
|
||||||
|
case 'B':
|
||||||
|
if (GET_FIELD (insn, 19, 19))
|
||||||
|
fput_fp_reg_r (GET_FIELD (insn, 11, 15), info);
|
||||||
|
else
|
||||||
|
fput_fp_reg (GET_FIELD (insn, 11, 15), info);
|
||||||
|
break;
|
||||||
|
case 'C':
|
||||||
|
{
|
||||||
|
int reg = GET_FIELD (insn, 21, 22);
|
||||||
|
reg |= GET_FIELD (insn, 16, 18) << 2;
|
||||||
|
if (GET_FIELD (insn, 23, 23) != 0)
|
||||||
|
fput_fp_reg_r (reg, info);
|
||||||
|
else
|
||||||
|
fput_fp_reg (reg, info);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 'i':
|
||||||
{
|
{
|
||||||
int reg = GET_FIELD (insn, 6, 10);
|
int reg = GET_FIELD (insn, 6, 10);
|
||||||
|
|
||||||
@ -395,7 +423,7 @@ print_insn_hppa (memaddr, info)
|
|||||||
fput_fp_reg (reg, info);
|
fput_fp_reg (reg, info);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case '6':
|
case 'j':
|
||||||
{
|
{
|
||||||
int reg = GET_FIELD (insn, 11, 15);
|
int reg = GET_FIELD (insn, 11, 15);
|
||||||
|
|
||||||
@ -403,7 +431,7 @@ print_insn_hppa (memaddr, info)
|
|||||||
fput_fp_reg (reg, info);
|
fput_fp_reg (reg, info);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case '7':
|
case 'k':
|
||||||
{
|
{
|
||||||
int reg = GET_FIELD (insn, 27, 31);
|
int reg = GET_FIELD (insn, 27, 31);
|
||||||
|
|
||||||
@ -411,15 +439,7 @@ print_insn_hppa (memaddr, info)
|
|||||||
fput_fp_reg (reg, info);
|
fput_fp_reg (reg, info);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case '8':
|
case 'l':
|
||||||
{
|
|
||||||
int reg = GET_FIELD (insn, 16, 20);
|
|
||||||
|
|
||||||
reg |= (GET_FIELD (insn, 26, 26) << 4);
|
|
||||||
fput_fp_reg (reg, info);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case '9':
|
|
||||||
{
|
{
|
||||||
int reg = GET_FIELD (insn, 21, 25);
|
int reg = GET_FIELD (insn, 21, 25);
|
||||||
|
|
||||||
@ -427,6 +447,16 @@ print_insn_hppa (memaddr, info)
|
|||||||
fput_fp_reg (reg, info);
|
fput_fp_reg (reg, info);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case 'm':
|
||||||
|
{
|
||||||
|
int reg = GET_FIELD (insn, 16, 20);
|
||||||
|
|
||||||
|
reg |= (GET_FIELD (insn, 26, 26) << 4);
|
||||||
|
fput_fp_reg (reg, info);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
case '5':
|
case '5':
|
||||||
fput_const (extract_5_load (insn), info);
|
fput_const (extract_5_load (insn), info);
|
||||||
break;
|
break;
|
||||||
@ -568,8 +598,7 @@ print_insn_hppa (memaddr, info)
|
|||||||
rather than by the 'f' bit (sigh): comb, comib,
|
rather than by the 'f' bit (sigh): comb, comib,
|
||||||
addb, addib */
|
addb, addib */
|
||||||
case 't':
|
case 't':
|
||||||
fputs_filtered (compare_cond_names[GET_FIELD (insn, 16,
|
fputs_filtered (compare_cond_names[GET_FIELD (insn, 16, 18)],
|
||||||
18)],
|
|
||||||
info);
|
info);
|
||||||
break;
|
break;
|
||||||
case 'T':
|
case 'T':
|
||||||
@ -589,8 +618,7 @@ print_insn_hppa (memaddr, info)
|
|||||||
info);
|
info);
|
||||||
break;
|
break;
|
||||||
case 'n':
|
case 'n':
|
||||||
fputs_filtered (compare_cond_names[GET_FIELD (insn, 16,
|
fputs_filtered (compare_cond_names[GET_FIELD (insn, 16, 18)
|
||||||
18)
|
|
||||||
+ GET_FIELD (insn, 4, 4) * 8], info);
|
+ GET_FIELD (insn, 4, 4) * 8], info);
|
||||||
break;
|
break;
|
||||||
case '@':
|
case '@':
|
||||||
@ -615,14 +643,12 @@ print_insn_hppa (memaddr, info)
|
|||||||
break;
|
break;
|
||||||
case 'd':
|
case 'd':
|
||||||
(*info->fprintf_func) (info->stream, "%s",
|
(*info->fprintf_func) (info->stream, "%s",
|
||||||
add_cond_names[GET_FIELD (insn,
|
add_cond_names[GET_FIELD (insn, 16, 18)]);
|
||||||
16,
|
|
||||||
18)]);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'D':
|
case 'D':
|
||||||
(*info->fprintf_func) (info->stream, "%s",
|
(*info->fprintf_func) (info->stream, "%s",
|
||||||
add_cond_names[GET_FIELD (insn,
|
add_cond_names[GET_FIELD (insn, 16, 18)
|
||||||
16, 18)
|
|
||||||
+ 8]);
|
+ 8]);
|
||||||
break;
|
break;
|
||||||
case 'w':
|
case 'w':
|
||||||
@ -801,7 +827,7 @@ print_insn_hppa (memaddr, info)
|
|||||||
case 'D':
|
case 'D':
|
||||||
fput_const (GET_FIELD (insn, 6, 31), info);
|
fput_const (GET_FIELD (insn, 6, 31), info);
|
||||||
break;
|
break;
|
||||||
case 'f':
|
case 'v':
|
||||||
(*info->fprintf_func) (info->stream, ",%d", GET_FIELD (insn, 23, 25));
|
(*info->fprintf_func) (info->stream, ",%d", GET_FIELD (insn, 23, 25));
|
||||||
break;
|
break;
|
||||||
case 'O':
|
case 'O':
|
||||||
@ -811,17 +837,6 @@ print_insn_hppa (memaddr, info)
|
|||||||
case 'o':
|
case 'o':
|
||||||
fput_const (GET_FIELD (insn, 6, 20), info);
|
fput_const (GET_FIELD (insn, 6, 20), info);
|
||||||
break;
|
break;
|
||||||
case '3':
|
|
||||||
{
|
|
||||||
int reg = GET_FIELD (insn, 21, 22);
|
|
||||||
reg |= GET_FIELD (insn, 16, 18) << 2;
|
|
||||||
if (GET_FIELD (insn, 23, 23) != 0)
|
|
||||||
fput_fp_reg_r (reg, info);
|
|
||||||
else
|
|
||||||
fput_fp_reg (reg, info);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
case '2':
|
case '2':
|
||||||
fput_const ((GET_FIELD (insn, 6, 22) << 5 |
|
fput_const ((GET_FIELD (insn, 6, 22) << 5 |
|
||||||
GET_FIELD (insn, 27, 31)), info);
|
GET_FIELD (insn, 27, 31)), info);
|
||||||
@ -872,19 +887,6 @@ print_insn_hppa (memaddr, info)
|
|||||||
float_format_names[GET_FIELD
|
float_format_names[GET_FIELD
|
||||||
(insn, 20, 20)]);
|
(insn, 20, 20)]);
|
||||||
break;
|
break;
|
||||||
case 'J':
|
|
||||||
if (GET_FIELD (insn, 24, 24))
|
|
||||||
fput_fp_reg_r (GET_FIELD (insn, 6, 10), info);
|
|
||||||
else
|
|
||||||
fput_fp_reg (GET_FIELD (insn, 6, 10), info);
|
|
||||||
|
|
||||||
break;
|
|
||||||
case 'K':
|
|
||||||
if (GET_FIELD (insn, 19, 19))
|
|
||||||
fput_fp_reg_r (GET_FIELD (insn, 11, 15), info);
|
|
||||||
else
|
|
||||||
fput_fp_reg (GET_FIELD (insn, 11, 15), info);
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
(*info->fprintf_func) (info->stream, "%c", *s);
|
(*info->fprintf_func) (info->stream, "%c", *s);
|
||||||
break;
|
break;
|
||||||
|
Reference in New Issue
Block a user