mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-25 04:49:54 +08:00
* config/tc-hppa.c (pa_ip); Handle "fe", and 'cJ'.
This commit is contained in:
@ -1,5 +1,7 @@
|
|||||||
Sun Sep 19 10:43:31 1999 Jeffrey A Law (law@cygnus.com)
|
Sun Sep 19 10:43:31 1999 Jeffrey A Law (law@cygnus.com)
|
||||||
|
|
||||||
|
* config/tc-hppa.c (pa_ip); Handle "fe", and 'cJ'.
|
||||||
|
|
||||||
* config/tc-hppa.c (pa_ip): Handle 'd', '#' and 'cq'.
|
* config/tc-hppa.c (pa_ip): Handle 'd', '#' and 'cq'.
|
||||||
|
|
||||||
* config/tc-hppa.c (struct pa_it): New field "trunc".
|
* config/tc-hppa.c (struct pa_it): New field "trunc".
|
||||||
|
@ -1786,6 +1786,7 @@ pa_ip (str)
|
|||||||
/* Handle a short load/store completer. */
|
/* Handle a short load/store completer. */
|
||||||
case 'm':
|
case 'm':
|
||||||
case 'q':
|
case 'q':
|
||||||
|
case 'J':
|
||||||
{
|
{
|
||||||
int a = 0;
|
int a = 0;
|
||||||
int m = 0;
|
int m = 0;
|
||||||
@ -1810,8 +1811,8 @@ pa_ip (str)
|
|||||||
s += 2;
|
s += 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 'm' and 'q' are the same, except for where they encode
|
/* 'J', 'm' and 'q' are the same, except for where they
|
||||||
the before/after field. */
|
encode the before/after field. */
|
||||||
if (*args == 'm')
|
if (*args == 'm')
|
||||||
{
|
{
|
||||||
opcode |= m << 5;
|
opcode |= m << 5;
|
||||||
@ -1822,6 +1823,11 @@ pa_ip (str)
|
|||||||
opcode |= m << 3;
|
opcode |= m << 3;
|
||||||
INSERT_FIELD_AND_CONTINUE (opcode, a, 2);
|
INSERT_FIELD_AND_CONTINUE (opcode, a, 2);
|
||||||
}
|
}
|
||||||
|
else if (*args == 'J')
|
||||||
|
{
|
||||||
|
/* M bit is explicit in the major opcode. */
|
||||||
|
INSERT_FIELD_AND_CONTINUE (opcode, a, 2);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Handle a stbys completer. */
|
/* Handle a stbys completer. */
|
||||||
@ -3605,6 +3611,21 @@ pa_ip (str)
|
|||||||
INSERT_FIELD_AND_CONTINUE (opcode, result.number_part, 11);
|
INSERT_FIELD_AND_CONTINUE (opcode, result.number_part, 11);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Handle L/R register halves like 'x'. */
|
||||||
|
case 'e':
|
||||||
|
{
|
||||||
|
struct pa_11_fp_reg_struct result;
|
||||||
|
|
||||||
|
if (strict && *s != '%')
|
||||||
|
break;
|
||||||
|
pa_parse_number (&s, &result);
|
||||||
|
CHECK_FIELD (result.number_part, 31, 0, 0);
|
||||||
|
opcode |= (result.number_part & 0x1f) << 16;
|
||||||
|
if (need_pa11_opcode (&the_insn, &result))
|
||||||
|
{
|
||||||
|
opcode |= (result.l_r_select & 1) << 1;
|
||||||
|
}
|
||||||
|
continue;
|
||||||
default:
|
default:
|
||||||
abort ();
|
abort ();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user