* ppc-opc.c: Convert to C90, removing unnecessary prototypes and
casts. Formatting.
This commit is contained in:
parent
32a3339c51
commit
2fbfdc41e7
2 changed files with 221 additions and 267 deletions
|
@ -1,5 +1,8 @@
|
||||||
2003-07-04 Alan Modra <amodra@bigpond.net.au>
|
2003-07-04 Alan Modra <amodra@bigpond.net.au>
|
||||||
|
|
||||||
|
* ppc-opc.c: Convert to C90, removing unnecessary prototypes and
|
||||||
|
casts. Formatting.
|
||||||
|
|
||||||
* ppc-opc.c: Remove PARAMS from prototypes.
|
* ppc-opc.c: Remove PARAMS from prototypes.
|
||||||
(FXM4): Define.
|
(FXM4): Define.
|
||||||
(insert_fxm): New function, used by both FXM and FXM4.
|
(insert_fxm): New function, used by both FXM and FXM4.
|
||||||
|
|
|
@ -48,7 +48,6 @@ static unsigned long insert_bdm (unsigned long, long, int, const char **);
|
||||||
static long extract_bdm (unsigned long, int, int *);
|
static long extract_bdm (unsigned long, int, int *);
|
||||||
static unsigned long insert_bdp (unsigned long, long, int, const char **);
|
static unsigned long insert_bdp (unsigned long, long, int, const char **);
|
||||||
static long extract_bdp (unsigned long, int, int *);
|
static long extract_bdp (unsigned long, int, int *);
|
||||||
static int valid_bo (long, int);
|
|
||||||
static unsigned long insert_bo (unsigned long, long, int, const char **);
|
static unsigned long insert_bo (unsigned long, long, int, const char **);
|
||||||
static long extract_bo (unsigned long, int, int *);
|
static long extract_bo (unsigned long, int, int *);
|
||||||
static unsigned long insert_boe (unsigned long, long, int, const char **);
|
static unsigned long insert_boe (unsigned long, long, int, const char **);
|
||||||
|
@ -551,22 +550,20 @@ const struct powerpc_operand powerpc_operands[] =
|
||||||
|
|
||||||
/*ARGSUSED*/
|
/*ARGSUSED*/
|
||||||
static unsigned long
|
static unsigned long
|
||||||
insert_bat (insn, value, dialect, errmsg)
|
insert_bat (unsigned long insn,
|
||||||
unsigned long insn;
|
long value ATTRIBUTE_UNUSED,
|
||||||
long value ATTRIBUTE_UNUSED;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
const char **errmsg ATTRIBUTE_UNUSED)
|
||||||
const char **errmsg ATTRIBUTE_UNUSED;
|
|
||||||
{
|
{
|
||||||
return insn | (((insn >> 21) & 0x1f) << 16);
|
return insn | (((insn >> 21) & 0x1f) << 16);
|
||||||
}
|
}
|
||||||
|
|
||||||
static long
|
static long
|
||||||
extract_bat (insn, dialect, invalid)
|
extract_bat (unsigned long insn,
|
||||||
unsigned long insn;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
int *invalid)
|
||||||
int *invalid;
|
|
||||||
{
|
{
|
||||||
if (invalid != (int *) NULL
|
if (invalid != NULL
|
||||||
&& ((insn >> 21) & 0x1f) != ((insn >> 16) & 0x1f))
|
&& ((insn >> 21) & 0x1f) != ((insn >> 16) & 0x1f))
|
||||||
*invalid = 1;
|
*invalid = 1;
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -580,22 +577,20 @@ extract_bat (insn, dialect, invalid)
|
||||||
|
|
||||||
/*ARGSUSED*/
|
/*ARGSUSED*/
|
||||||
static unsigned long
|
static unsigned long
|
||||||
insert_bba (insn, value, dialect, errmsg)
|
insert_bba (unsigned long insn,
|
||||||
unsigned long insn;
|
long value ATTRIBUTE_UNUSED,
|
||||||
long value ATTRIBUTE_UNUSED;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
const char **errmsg ATTRIBUTE_UNUSED)
|
||||||
const char **errmsg ATTRIBUTE_UNUSED;
|
|
||||||
{
|
{
|
||||||
return insn | (((insn >> 16) & 0x1f) << 11);
|
return insn | (((insn >> 16) & 0x1f) << 11);
|
||||||
}
|
}
|
||||||
|
|
||||||
static long
|
static long
|
||||||
extract_bba (insn, dialect, invalid)
|
extract_bba (unsigned long insn,
|
||||||
unsigned long insn;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
int *invalid)
|
||||||
int *invalid;
|
|
||||||
{
|
{
|
||||||
if (invalid != (int *) NULL
|
if (invalid != NULL
|
||||||
&& ((insn >> 16) & 0x1f) != ((insn >> 11) & 0x1f))
|
&& ((insn >> 16) & 0x1f) != ((insn >> 11) & 0x1f))
|
||||||
*invalid = 1;
|
*invalid = 1;
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -606,21 +601,19 @@ extract_bba (insn, dialect, invalid)
|
||||||
|
|
||||||
/*ARGSUSED*/
|
/*ARGSUSED*/
|
||||||
static unsigned long
|
static unsigned long
|
||||||
insert_bd (insn, value, dialect, errmsg)
|
insert_bd (unsigned long insn,
|
||||||
unsigned long insn;
|
long value,
|
||||||
long value;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
const char **errmsg ATTRIBUTE_UNUSED)
|
||||||
const char **errmsg ATTRIBUTE_UNUSED;
|
|
||||||
{
|
{
|
||||||
return insn | (value & 0xfffc);
|
return insn | (value & 0xfffc);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*ARGSUSED*/
|
/*ARGSUSED*/
|
||||||
static long
|
static long
|
||||||
extract_bd (insn, dialect, invalid)
|
extract_bd (unsigned long insn,
|
||||||
unsigned long insn;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
int *invalid ATTRIBUTE_UNUSED)
|
||||||
int *invalid ATTRIBUTE_UNUSED;
|
|
||||||
{
|
{
|
||||||
return ((insn & 0xfffc) ^ 0x8000) - 0x8000;
|
return ((insn & 0xfffc) ^ 0x8000) - 0x8000;
|
||||||
}
|
}
|
||||||
|
@ -640,11 +633,10 @@ extract_bd (insn, dialect, invalid)
|
||||||
|
|
||||||
/*ARGSUSED*/
|
/*ARGSUSED*/
|
||||||
static unsigned long
|
static unsigned long
|
||||||
insert_bdm (insn, value, dialect, errmsg)
|
insert_bdm (unsigned long insn,
|
||||||
unsigned long insn;
|
long value,
|
||||||
long value;
|
int dialect,
|
||||||
int dialect;
|
const char **errmsg ATTRIBUTE_UNUSED)
|
||||||
const char **errmsg ATTRIBUTE_UNUSED;
|
|
||||||
{
|
{
|
||||||
if ((dialect & PPC_OPCODE_POWER4) == 0)
|
if ((dialect & PPC_OPCODE_POWER4) == 0)
|
||||||
{
|
{
|
||||||
|
@ -662,12 +654,11 @@ insert_bdm (insn, value, dialect, errmsg)
|
||||||
}
|
}
|
||||||
|
|
||||||
static long
|
static long
|
||||||
extract_bdm (insn, dialect, invalid)
|
extract_bdm (unsigned long insn,
|
||||||
unsigned long insn;
|
int dialect,
|
||||||
int dialect;
|
int *invalid)
|
||||||
int *invalid;
|
|
||||||
{
|
{
|
||||||
if (invalid != (int *) NULL)
|
if (invalid != NULL)
|
||||||
{
|
{
|
||||||
if ((dialect & PPC_OPCODE_POWER4) == 0)
|
if ((dialect & PPC_OPCODE_POWER4) == 0)
|
||||||
{
|
{
|
||||||
|
@ -690,11 +681,10 @@ extract_bdm (insn, dialect, invalid)
|
||||||
|
|
||||||
/*ARGSUSED*/
|
/*ARGSUSED*/
|
||||||
static unsigned long
|
static unsigned long
|
||||||
insert_bdp (insn, value, dialect, errmsg)
|
insert_bdp (unsigned long insn,
|
||||||
unsigned long insn;
|
long value,
|
||||||
long value;
|
int dialect,
|
||||||
int dialect;
|
const char **errmsg ATTRIBUTE_UNUSED)
|
||||||
const char **errmsg ATTRIBUTE_UNUSED;
|
|
||||||
{
|
{
|
||||||
if ((dialect & PPC_OPCODE_POWER4) == 0)
|
if ((dialect & PPC_OPCODE_POWER4) == 0)
|
||||||
{
|
{
|
||||||
|
@ -712,12 +702,11 @@ insert_bdp (insn, value, dialect, errmsg)
|
||||||
}
|
}
|
||||||
|
|
||||||
static long
|
static long
|
||||||
extract_bdp (insn, dialect, invalid)
|
extract_bdp (unsigned long insn,
|
||||||
unsigned long insn;
|
int dialect,
|
||||||
int dialect;
|
int *invalid)
|
||||||
int *invalid;
|
|
||||||
{
|
{
|
||||||
if (invalid != (int *) NULL)
|
if (invalid != NULL)
|
||||||
{
|
{
|
||||||
if ((dialect & PPC_OPCODE_POWER4) == 0)
|
if ((dialect & PPC_OPCODE_POWER4) == 0)
|
||||||
{
|
{
|
||||||
|
@ -737,9 +726,7 @@ extract_bdp (insn, dialect, invalid)
|
||||||
/* Check for legal values of a BO field. */
|
/* Check for legal values of a BO field. */
|
||||||
|
|
||||||
static int
|
static int
|
||||||
valid_bo (value, dialect)
|
valid_bo (long value, int dialect)
|
||||||
long value;
|
|
||||||
int dialect;
|
|
||||||
{
|
{
|
||||||
if ((dialect & PPC_OPCODE_POWER4) == 0)
|
if ((dialect & PPC_OPCODE_POWER4) == 0)
|
||||||
{
|
{
|
||||||
|
@ -791,28 +778,26 @@ valid_bo (value, dialect)
|
||||||
the field to an illegal value. */
|
the field to an illegal value. */
|
||||||
|
|
||||||
static unsigned long
|
static unsigned long
|
||||||
insert_bo (insn, value, dialect, errmsg)
|
insert_bo (unsigned long insn,
|
||||||
unsigned long insn;
|
long value,
|
||||||
long value;
|
int dialect,
|
||||||
int dialect;
|
const char **errmsg)
|
||||||
const char **errmsg;
|
|
||||||
{
|
{
|
||||||
if (errmsg != (const char **) NULL
|
if (errmsg != NULL
|
||||||
&& ! valid_bo (value, dialect))
|
&& ! valid_bo (value, dialect))
|
||||||
*errmsg = _("invalid conditional option");
|
*errmsg = _("invalid conditional option");
|
||||||
return insn | ((value & 0x1f) << 21);
|
return insn | ((value & 0x1f) << 21);
|
||||||
}
|
}
|
||||||
|
|
||||||
static long
|
static long
|
||||||
extract_bo (insn, dialect, invalid)
|
extract_bo (unsigned long insn,
|
||||||
unsigned long insn;
|
int dialect,
|
||||||
int dialect;
|
int *invalid)
|
||||||
int *invalid;
|
|
||||||
{
|
{
|
||||||
long value;
|
long value;
|
||||||
|
|
||||||
value = (insn >> 21) & 0x1f;
|
value = (insn >> 21) & 0x1f;
|
||||||
if (invalid != (int *) NULL
|
if (invalid != NULL
|
||||||
&& ! valid_bo (value, dialect))
|
&& ! valid_bo (value, dialect))
|
||||||
*invalid = 1;
|
*invalid = 1;
|
||||||
return value;
|
return value;
|
||||||
|
@ -823,13 +808,12 @@ extract_bo (insn, dialect, invalid)
|
||||||
extracting it, we force it to be even. */
|
extracting it, we force it to be even. */
|
||||||
|
|
||||||
static unsigned long
|
static unsigned long
|
||||||
insert_boe (insn, value, dialect, errmsg)
|
insert_boe (unsigned long insn,
|
||||||
unsigned long insn;
|
long value,
|
||||||
long value;
|
int dialect,
|
||||||
int dialect;
|
const char **errmsg)
|
||||||
const char **errmsg;
|
|
||||||
{
|
{
|
||||||
if (errmsg != (const char **) NULL)
|
if (errmsg != NULL)
|
||||||
{
|
{
|
||||||
if (! valid_bo (value, dialect))
|
if (! valid_bo (value, dialect))
|
||||||
*errmsg = _("invalid conditional option");
|
*errmsg = _("invalid conditional option");
|
||||||
|
@ -840,15 +824,14 @@ insert_boe (insn, value, dialect, errmsg)
|
||||||
}
|
}
|
||||||
|
|
||||||
static long
|
static long
|
||||||
extract_boe (insn, dialect, invalid)
|
extract_boe (unsigned long insn,
|
||||||
unsigned long insn;
|
int dialect,
|
||||||
int dialect;
|
int *invalid)
|
||||||
int *invalid;
|
|
||||||
{
|
{
|
||||||
long value;
|
long value;
|
||||||
|
|
||||||
value = (insn >> 21) & 0x1f;
|
value = (insn >> 21) & 0x1f;
|
||||||
if (invalid != (int *) NULL
|
if (invalid != NULL
|
||||||
&& ! valid_bo (value, dialect))
|
&& ! valid_bo (value, dialect))
|
||||||
*invalid = 1;
|
*invalid = 1;
|
||||||
return value & 0x1e;
|
return value & 0x1e;
|
||||||
|
@ -859,11 +842,10 @@ extract_boe (insn, dialect, invalid)
|
||||||
|
|
||||||
/*ARGSUSED*/
|
/*ARGSUSED*/
|
||||||
static unsigned long
|
static unsigned long
|
||||||
insert_dq (insn, value, dialect, errmsg)
|
insert_dq (unsigned long insn,
|
||||||
unsigned long insn;
|
long value,
|
||||||
long value;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
const char ** errmsg ATTRIBUTE_UNUSED)
|
||||||
const char ** errmsg ATTRIBUTE_UNUSED;
|
|
||||||
{
|
{
|
||||||
if ((value & 0xf) != 0 && errmsg != NULL)
|
if ((value & 0xf) != 0 && errmsg != NULL)
|
||||||
*errmsg = _("offset not a multiple of 16");
|
*errmsg = _("offset not a multiple of 16");
|
||||||
|
@ -872,20 +854,18 @@ insert_dq (insn, value, dialect, errmsg)
|
||||||
|
|
||||||
/*ARGSUSED*/
|
/*ARGSUSED*/
|
||||||
static long
|
static long
|
||||||
extract_dq (insn, dialect, invalid)
|
extract_dq (unsigned long insn,
|
||||||
unsigned long insn;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
int *invalid ATTRIBUTE_UNUSED)
|
||||||
int *invalid ATTRIBUTE_UNUSED;
|
|
||||||
{
|
{
|
||||||
return ((insn & 0xfff0) ^ 0x8000) - 0x8000;
|
return ((insn & 0xfff0) ^ 0x8000) - 0x8000;
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned long
|
static unsigned long
|
||||||
insert_ev2 (insn, value, dialect, errmsg)
|
insert_ev2 (unsigned long insn,
|
||||||
unsigned long insn;
|
long value,
|
||||||
long value;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
const char ** errmsg ATTRIBUTE_UNUSED)
|
||||||
const char ** errmsg ATTRIBUTE_UNUSED;
|
|
||||||
{
|
{
|
||||||
if ((value & 1) != 0 && errmsg != NULL)
|
if ((value & 1) != 0 && errmsg != NULL)
|
||||||
*errmsg = _("offset not a multiple of 2");
|
*errmsg = _("offset not a multiple of 2");
|
||||||
|
@ -895,20 +875,18 @@ insert_ev2 (insn, value, dialect, errmsg)
|
||||||
}
|
}
|
||||||
|
|
||||||
static long
|
static long
|
||||||
extract_ev2 (insn, dialect, invalid)
|
extract_ev2 (unsigned long insn,
|
||||||
unsigned long insn;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
int *invalid ATTRIBUTE_UNUSED)
|
||||||
int * invalid ATTRIBUTE_UNUSED;
|
|
||||||
{
|
{
|
||||||
return (insn >> 10) & 0x3e;
|
return (insn >> 10) & 0x3e;
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned long
|
static unsigned long
|
||||||
insert_ev4 (insn, value, dialect, errmsg)
|
insert_ev4 (unsigned long insn,
|
||||||
unsigned long insn;
|
long value,
|
||||||
long value;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
const char **errmsg ATTRIBUTE_UNUSED)
|
||||||
const char ** errmsg ATTRIBUTE_UNUSED;
|
|
||||||
{
|
{
|
||||||
if ((value & 3) != 0 && errmsg != NULL)
|
if ((value & 3) != 0 && errmsg != NULL)
|
||||||
*errmsg = _("offset not a multiple of 4");
|
*errmsg = _("offset not a multiple of 4");
|
||||||
|
@ -918,20 +896,18 @@ insert_ev4 (insn, value, dialect, errmsg)
|
||||||
}
|
}
|
||||||
|
|
||||||
static long
|
static long
|
||||||
extract_ev4 (insn, dialect, invalid)
|
extract_ev4 (unsigned long insn,
|
||||||
unsigned long insn;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
int *invalid ATTRIBUTE_UNUSED)
|
||||||
int * invalid ATTRIBUTE_UNUSED;
|
|
||||||
{
|
{
|
||||||
return (insn >> 9) & 0x7c;
|
return (insn >> 9) & 0x7c;
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned long
|
static unsigned long
|
||||||
insert_ev8 (insn, value, dialect, errmsg)
|
insert_ev8 (unsigned long insn,
|
||||||
unsigned long insn;
|
long value,
|
||||||
long value;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
const char **errmsg ATTRIBUTE_UNUSED)
|
||||||
const char ** errmsg ATTRIBUTE_UNUSED;
|
|
||||||
{
|
{
|
||||||
if ((value & 7) != 0 && errmsg != NULL)
|
if ((value & 7) != 0 && errmsg != NULL)
|
||||||
*errmsg = _("offset not a multiple of 8");
|
*errmsg = _("offset not a multiple of 8");
|
||||||
|
@ -941,10 +917,9 @@ insert_ev8 (insn, value, dialect, errmsg)
|
||||||
}
|
}
|
||||||
|
|
||||||
static long
|
static long
|
||||||
extract_ev8 (insn, dialect, invalid)
|
extract_ev8 (unsigned long insn,
|
||||||
unsigned long insn;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
int * invalid ATTRIBUTE_UNUSED)
|
||||||
int * invalid ATTRIBUTE_UNUSED;
|
|
||||||
{
|
{
|
||||||
return (insn >> 8) & 0xf8;
|
return (insn >> 8) & 0xf8;
|
||||||
}
|
}
|
||||||
|
@ -954,11 +929,10 @@ extract_ev8 (insn, dialect, invalid)
|
||||||
|
|
||||||
/*ARGSUSED*/
|
/*ARGSUSED*/
|
||||||
static unsigned long
|
static unsigned long
|
||||||
insert_ds (insn, value, dialect, errmsg)
|
insert_ds (unsigned long insn,
|
||||||
unsigned long insn;
|
long value,
|
||||||
long value;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
const char **errmsg)
|
||||||
const char **errmsg;
|
|
||||||
{
|
{
|
||||||
if ((value & 3) != 0 && errmsg != NULL)
|
if ((value & 3) != 0 && errmsg != NULL)
|
||||||
*errmsg = _("offset not a multiple of 4");
|
*errmsg = _("offset not a multiple of 4");
|
||||||
|
@ -967,10 +941,9 @@ insert_ds (insn, value, dialect, errmsg)
|
||||||
|
|
||||||
/*ARGSUSED*/
|
/*ARGSUSED*/
|
||||||
static long
|
static long
|
||||||
extract_ds (insn, dialect, invalid)
|
extract_ds (unsigned long insn,
|
||||||
unsigned long insn;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
int *invalid ATTRIBUTE_UNUSED)
|
||||||
int *invalid ATTRIBUTE_UNUSED;
|
|
||||||
{
|
{
|
||||||
return ((insn & 0xfffc) ^ 0x8000) - 0x8000;
|
return ((insn & 0xfffc) ^ 0x8000) - 0x8000;
|
||||||
}
|
}
|
||||||
|
@ -979,11 +952,10 @@ extract_ds (insn, dialect, invalid)
|
||||||
|
|
||||||
/*ARGSUSED*/
|
/*ARGSUSED*/
|
||||||
static unsigned long
|
static unsigned long
|
||||||
insert_de (insn, value, dialect, errmsg)
|
insert_de (unsigned long insn,
|
||||||
unsigned long insn;
|
long value,
|
||||||
long value;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
const char **errmsg)
|
||||||
const char **errmsg;
|
|
||||||
{
|
{
|
||||||
if ((value > 2047 || value < -2048) && errmsg != NULL)
|
if ((value > 2047 || value < -2048) && errmsg != NULL)
|
||||||
*errmsg = _("offset not between -2048 and 2047");
|
*errmsg = _("offset not between -2048 and 2047");
|
||||||
|
@ -992,10 +964,9 @@ insert_de (insn, value, dialect, errmsg)
|
||||||
|
|
||||||
/*ARGSUSED*/
|
/*ARGSUSED*/
|
||||||
static long
|
static long
|
||||||
extract_de (insn, dialect, invalid)
|
extract_de (unsigned long insn,
|
||||||
unsigned long insn;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
int *invalid ATTRIBUTE_UNUSED)
|
||||||
int *invalid ATTRIBUTE_UNUSED;
|
|
||||||
{
|
{
|
||||||
return (insn & 0xfff0) >> 4;
|
return (insn & 0xfff0) >> 4;
|
||||||
}
|
}
|
||||||
|
@ -1004,11 +975,10 @@ extract_de (insn, dialect, invalid)
|
||||||
|
|
||||||
/*ARGSUSED*/
|
/*ARGSUSED*/
|
||||||
static unsigned long
|
static unsigned long
|
||||||
insert_des (insn, value, dialect, errmsg)
|
insert_des (unsigned long insn,
|
||||||
unsigned long insn;
|
long value,
|
||||||
long value;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
const char **errmsg)
|
||||||
const char **errmsg;
|
|
||||||
{
|
{
|
||||||
if ((value > 8191 || value < -8192) && errmsg != NULL)
|
if ((value > 8191 || value < -8192) && errmsg != NULL)
|
||||||
*errmsg = _("offset not between -8192 and 8191");
|
*errmsg = _("offset not between -8192 and 8191");
|
||||||
|
@ -1019,15 +989,17 @@ insert_des (insn, value, dialect, errmsg)
|
||||||
|
|
||||||
/*ARGSUSED*/
|
/*ARGSUSED*/
|
||||||
static long
|
static long
|
||||||
extract_des (insn, dialect, invalid)
|
extract_des (unsigned long insn,
|
||||||
unsigned long insn;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
int *invalid ATTRIBUTE_UNUSED)
|
||||||
int *invalid ATTRIBUTE_UNUSED;
|
|
||||||
{
|
{
|
||||||
return (((insn >> 2) & 0x3ffc) ^ 0x2000) - 0x2000;
|
return (((insn >> 2) & 0x3ffc) ^ 0x2000) - 0x2000;
|
||||||
}
|
}
|
||||||
|
|
||||||
static unsigned long insert_fxm (unsigned long insn,
|
/* FXM mask in mfcr and mtcrf instructions. */
|
||||||
|
|
||||||
|
static unsigned long
|
||||||
|
insert_fxm (unsigned long insn,
|
||||||
long value,
|
long value,
|
||||||
int dialect,
|
int dialect,
|
||||||
const char **errmsg)
|
const char **errmsg)
|
||||||
|
@ -1055,7 +1027,10 @@ static unsigned long insert_fxm (unsigned long insn,
|
||||||
return insn | ((value & 0xff) << 12);
|
return insn | ((value & 0xff) << 12);
|
||||||
}
|
}
|
||||||
|
|
||||||
static long extract_fxm (unsigned long insn, int dialect, int *invalid)
|
static long
|
||||||
|
extract_fxm (unsigned long insn,
|
||||||
|
int dialect,
|
||||||
|
int *invalid)
|
||||||
{
|
{
|
||||||
long mask = (insn >> 12) & 0xff;
|
long mask = (insn >> 12) & 0xff;
|
||||||
|
|
||||||
|
@ -1090,23 +1065,21 @@ static long extract_fxm (unsigned long insn, int dialect, int *invalid)
|
||||||
|
|
||||||
/*ARGSUSED*/
|
/*ARGSUSED*/
|
||||||
static unsigned long
|
static unsigned long
|
||||||
insert_li (insn, value, dialect, errmsg)
|
insert_li (unsigned long insn,
|
||||||
unsigned long insn;
|
long value,
|
||||||
long value;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
const char **errmsg)
|
||||||
const char **errmsg;
|
|
||||||
{
|
{
|
||||||
if ((value & 3) != 0 && errmsg != (const char **) NULL)
|
if ((value & 3) != 0 && errmsg != NULL)
|
||||||
*errmsg = _("ignoring least significant bits in branch offset");
|
*errmsg = _("ignoring least significant bits in branch offset");
|
||||||
return insn | (value & 0x3fffffc);
|
return insn | (value & 0x3fffffc);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*ARGSUSED*/
|
/*ARGSUSED*/
|
||||||
static long
|
static long
|
||||||
extract_li (insn, dialect, invalid)
|
extract_li (unsigned long insn,
|
||||||
unsigned long insn;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
int *invalid ATTRIBUTE_UNUSED)
|
||||||
int *invalid ATTRIBUTE_UNUSED;
|
|
||||||
{
|
{
|
||||||
return ((insn & 0x3fffffc) ^ 0x2000000) - 0x2000000;
|
return ((insn & 0x3fffffc) ^ 0x2000000) - 0x2000000;
|
||||||
}
|
}
|
||||||
|
@ -1117,11 +1090,10 @@ extract_li (insn, dialect, invalid)
|
||||||
instruction which uses a field of this type. */
|
instruction which uses a field of this type. */
|
||||||
|
|
||||||
static unsigned long
|
static unsigned long
|
||||||
insert_mbe (insn, value, dialect, errmsg)
|
insert_mbe (unsigned long insn,
|
||||||
unsigned long insn;
|
long value,
|
||||||
long value;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
const char **errmsg)
|
||||||
const char **errmsg;
|
|
||||||
{
|
{
|
||||||
unsigned long uval, mask;
|
unsigned long uval, mask;
|
||||||
int mb, me, mx, count, last;
|
int mb, me, mx, count, last;
|
||||||
|
@ -1130,7 +1102,7 @@ insert_mbe (insn, value, dialect, errmsg)
|
||||||
|
|
||||||
if (uval == 0)
|
if (uval == 0)
|
||||||
{
|
{
|
||||||
if (errmsg != (const char **) NULL)
|
if (errmsg != NULL)
|
||||||
*errmsg = _("illegal bitmask");
|
*errmsg = _("illegal bitmask");
|
||||||
return insn;
|
return insn;
|
||||||
}
|
}
|
||||||
|
@ -1147,7 +1119,7 @@ insert_mbe (insn, value, dialect, errmsg)
|
||||||
/* me: location of last 1->0 transition */
|
/* me: location of last 1->0 transition */
|
||||||
/* count: # transitions */
|
/* count: # transitions */
|
||||||
|
|
||||||
for (mx = 0, mask = (long) 1 << 31; mx < 32; ++mx, mask >>= 1)
|
for (mx = 0, mask = 1 << 31; mx < 32; ++mx, mask >>= 1)
|
||||||
{
|
{
|
||||||
if ((uval & mask) && !last)
|
if ((uval & mask) && !last)
|
||||||
{
|
{
|
||||||
|
@ -1167,7 +1139,7 @@ insert_mbe (insn, value, dialect, errmsg)
|
||||||
|
|
||||||
if (count != 2 && (count != 0 || ! last))
|
if (count != 2 && (count != 0 || ! last))
|
||||||
{
|
{
|
||||||
if (errmsg != (const char **) NULL)
|
if (errmsg != NULL)
|
||||||
*errmsg = _("illegal bitmask");
|
*errmsg = _("illegal bitmask");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1175,16 +1147,15 @@ insert_mbe (insn, value, dialect, errmsg)
|
||||||
}
|
}
|
||||||
|
|
||||||
static long
|
static long
|
||||||
extract_mbe (insn, dialect, invalid)
|
extract_mbe (unsigned long insn,
|
||||||
unsigned long insn;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
int *invalid)
|
||||||
int *invalid;
|
|
||||||
{
|
{
|
||||||
long ret;
|
long ret;
|
||||||
int mb, me;
|
int mb, me;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (invalid != (int *) NULL)
|
if (invalid != NULL)
|
||||||
*invalid = 1;
|
*invalid = 1;
|
||||||
|
|
||||||
mb = (insn >> 6) & 0x1f;
|
mb = (insn >> 6) & 0x1f;
|
||||||
|
@ -1193,15 +1164,15 @@ extract_mbe (insn, dialect, invalid)
|
||||||
{
|
{
|
||||||
ret = 0;
|
ret = 0;
|
||||||
for (i = mb; i <= me; i++)
|
for (i = mb; i <= me; i++)
|
||||||
ret |= (long) 1 << (31 - i);
|
ret |= 1 << (31 - i);
|
||||||
}
|
}
|
||||||
else if (mb == me + 1)
|
else if (mb == me + 1)
|
||||||
ret = ~0;
|
ret = -1;
|
||||||
else /* (mb > me + 1) */
|
else /* (mb > me + 1) */
|
||||||
{
|
{
|
||||||
ret = ~ (long) 0;
|
ret = ~0;
|
||||||
for (i = me + 1; i < mb; i++)
|
for (i = me + 1; i < mb; i++)
|
||||||
ret &= ~ ((long) 1 << (31 - i));
|
ret &= ~ (1 << (31 - i));
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -1211,21 +1182,19 @@ extract_mbe (insn, dialect, invalid)
|
||||||
|
|
||||||
/*ARGSUSED*/
|
/*ARGSUSED*/
|
||||||
static unsigned long
|
static unsigned long
|
||||||
insert_mb6 (insn, value, dialect, errmsg)
|
insert_mb6 (unsigned long insn,
|
||||||
unsigned long insn;
|
long value,
|
||||||
long value;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
const char **errmsg ATTRIBUTE_UNUSED)
|
||||||
const char **errmsg ATTRIBUTE_UNUSED;
|
|
||||||
{
|
{
|
||||||
return insn | ((value & 0x1f) << 6) | (value & 0x20);
|
return insn | ((value & 0x1f) << 6) | (value & 0x20);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*ARGSUSED*/
|
/*ARGSUSED*/
|
||||||
static long
|
static long
|
||||||
extract_mb6 (insn, dialect, invalid)
|
extract_mb6 (unsigned long insn,
|
||||||
unsigned long insn;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
int *invalid ATTRIBUTE_UNUSED)
|
||||||
int *invalid ATTRIBUTE_UNUSED;
|
|
||||||
{
|
{
|
||||||
return ((insn >> 6) & 0x1f) | (insn & 0x20);
|
return ((insn >> 6) & 0x1f) | (insn & 0x20);
|
||||||
}
|
}
|
||||||
|
@ -1234,11 +1203,10 @@ extract_mb6 (insn, dialect, invalid)
|
||||||
0. */
|
0. */
|
||||||
|
|
||||||
static unsigned long
|
static unsigned long
|
||||||
insert_nb (insn, value, dialect, errmsg)
|
insert_nb (unsigned long insn,
|
||||||
unsigned long insn;
|
long value,
|
||||||
long value;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
const char **errmsg)
|
||||||
const char **errmsg;
|
|
||||||
{
|
{
|
||||||
if (value < 0 || value > 32)
|
if (value < 0 || value > 32)
|
||||||
*errmsg = _("value out of range");
|
*errmsg = _("value out of range");
|
||||||
|
@ -1249,10 +1217,9 @@ insert_nb (insn, value, dialect, errmsg)
|
||||||
|
|
||||||
/*ARGSUSED*/
|
/*ARGSUSED*/
|
||||||
static long
|
static long
|
||||||
extract_nb (insn, dialect, invalid)
|
extract_nb (unsigned long insn,
|
||||||
unsigned long insn;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
int *invalid ATTRIBUTE_UNUSED)
|
||||||
int *invalid ATTRIBUTE_UNUSED;
|
|
||||||
{
|
{
|
||||||
long ret;
|
long ret;
|
||||||
|
|
||||||
|
@ -1269,24 +1236,22 @@ extract_nb (insn, dialect, invalid)
|
||||||
|
|
||||||
/*ARGSUSED*/
|
/*ARGSUSED*/
|
||||||
static unsigned long
|
static unsigned long
|
||||||
insert_nsi (insn, value, dialect, errmsg)
|
insert_nsi (unsigned long insn,
|
||||||
unsigned long insn;
|
long value,
|
||||||
long value;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
const char **errmsg ATTRIBUTE_UNUSED)
|
||||||
const char **errmsg ATTRIBUTE_UNUSED;
|
|
||||||
{
|
{
|
||||||
return insn | ((- value) & 0xffff);
|
return insn | (-value & 0xffff);
|
||||||
}
|
}
|
||||||
|
|
||||||
static long
|
static long
|
||||||
extract_nsi (insn, dialect, invalid)
|
extract_nsi (unsigned long insn,
|
||||||
unsigned long insn;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
int *invalid)
|
||||||
int *invalid;
|
|
||||||
{
|
{
|
||||||
if (invalid != (int *) NULL)
|
if (invalid != NULL)
|
||||||
*invalid = 1;
|
*invalid = 1;
|
||||||
return - (((insn & 0xffff) ^ 0x8000) - 0x8000);
|
return -(((insn & 0xffff) ^ 0x8000) - 0x8000);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The RA field in a D or X form instruction which is an updating
|
/* The RA field in a D or X form instruction which is an updating
|
||||||
|
@ -1294,11 +1259,10 @@ extract_nsi (insn, dialect, invalid)
|
||||||
equal the RT field. */
|
equal the RT field. */
|
||||||
|
|
||||||
static unsigned long
|
static unsigned long
|
||||||
insert_ral (insn, value, dialect, errmsg)
|
insert_ral (unsigned long insn,
|
||||||
unsigned long insn;
|
long value,
|
||||||
long value;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
const char **errmsg)
|
||||||
const char **errmsg;
|
|
||||||
{
|
{
|
||||||
if (value == 0
|
if (value == 0
|
||||||
|| (unsigned long) value == ((insn >> 21) & 0x1f))
|
|| (unsigned long) value == ((insn >> 21) & 0x1f))
|
||||||
|
@ -1310,11 +1274,10 @@ insert_ral (insn, value, dialect, errmsg)
|
||||||
restrictions. */
|
restrictions. */
|
||||||
|
|
||||||
static unsigned long
|
static unsigned long
|
||||||
insert_ram (insn, value, dialect, errmsg)
|
insert_ram (unsigned long insn,
|
||||||
unsigned long insn;
|
long value,
|
||||||
long value;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
const char **errmsg)
|
||||||
const char **errmsg;
|
|
||||||
{
|
{
|
||||||
if ((unsigned long) value >= ((insn >> 21) & 0x1f))
|
if ((unsigned long) value >= ((insn >> 21) & 0x1f))
|
||||||
*errmsg = _("index register in load range");
|
*errmsg = _("index register in load range");
|
||||||
|
@ -1326,11 +1289,10 @@ insert_ram (insn, value, dialect, errmsg)
|
||||||
|
|
||||||
/*ARGSUSED*/
|
/*ARGSUSED*/
|
||||||
static unsigned long
|
static unsigned long
|
||||||
insert_raq (insn, value, dialect, errmsg)
|
insert_raq (unsigned long insn,
|
||||||
unsigned long insn;
|
long value,
|
||||||
long value;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
const char **errmsg)
|
||||||
const char **errmsg;
|
|
||||||
{
|
{
|
||||||
long rtvalue = (insn & RT_MASK) >> 21;
|
long rtvalue = (insn & RT_MASK) >> 21;
|
||||||
|
|
||||||
|
@ -1344,11 +1306,10 @@ insert_raq (insn, value, dialect, errmsg)
|
||||||
field may not be zero. */
|
field may not be zero. */
|
||||||
|
|
||||||
static unsigned long
|
static unsigned long
|
||||||
insert_ras (insn, value, dialect, errmsg)
|
insert_ras (unsigned long insn,
|
||||||
unsigned long insn;
|
long value,
|
||||||
long value;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
const char **errmsg)
|
||||||
const char **errmsg;
|
|
||||||
{
|
{
|
||||||
if (value == 0)
|
if (value == 0)
|
||||||
*errmsg = _("invalid register operand when updating");
|
*errmsg = _("invalid register operand when updating");
|
||||||
|
@ -1363,22 +1324,20 @@ insert_ras (insn, value, dialect, errmsg)
|
||||||
|
|
||||||
/*ARGSUSED*/
|
/*ARGSUSED*/
|
||||||
static unsigned long
|
static unsigned long
|
||||||
insert_rbs (insn, value, dialect, errmsg)
|
insert_rbs (unsigned long insn,
|
||||||
unsigned long insn;
|
long value ATTRIBUTE_UNUSED,
|
||||||
long value ATTRIBUTE_UNUSED;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
const char **errmsg ATTRIBUTE_UNUSED)
|
||||||
const char **errmsg ATTRIBUTE_UNUSED;
|
|
||||||
{
|
{
|
||||||
return insn | (((insn >> 21) & 0x1f) << 11);
|
return insn | (((insn >> 21) & 0x1f) << 11);
|
||||||
}
|
}
|
||||||
|
|
||||||
static long
|
static long
|
||||||
extract_rbs (insn, dialect, invalid)
|
extract_rbs (unsigned long insn,
|
||||||
unsigned long insn;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
int *invalid)
|
||||||
int *invalid;
|
|
||||||
{
|
{
|
||||||
if (invalid != (int *) NULL
|
if (invalid != NULL
|
||||||
&& ((insn >> 21) & 0x1f) != ((insn >> 11) & 0x1f))
|
&& ((insn >> 21) & 0x1f) != ((insn >> 11) & 0x1f))
|
||||||
*invalid = 1;
|
*invalid = 1;
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1389,11 +1348,10 @@ extract_rbs (insn, dialect, invalid)
|
||||||
|
|
||||||
/*ARGSUSED*/
|
/*ARGSUSED*/
|
||||||
static unsigned long
|
static unsigned long
|
||||||
insert_rtq (insn, value, dialect, errmsg)
|
insert_rtq (unsigned long insn,
|
||||||
unsigned long insn;
|
long value,
|
||||||
long value;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
const char **errmsg)
|
||||||
const char **errmsg;
|
|
||||||
{
|
{
|
||||||
if ((value & 1) != 0 && errmsg != NULL)
|
if ((value & 1) != 0 && errmsg != NULL)
|
||||||
*errmsg = _("target register operand must be even");
|
*errmsg = _("target register operand must be even");
|
||||||
|
@ -1405,11 +1363,10 @@ insert_rtq (insn, value, dialect, errmsg)
|
||||||
|
|
||||||
/*ARGSUSED*/
|
/*ARGSUSED*/
|
||||||
static unsigned long
|
static unsigned long
|
||||||
insert_rsq (insn, value, dialect, errmsg)
|
insert_rsq (unsigned long insn,
|
||||||
unsigned long insn;
|
long value ATTRIBUTE_UNUSED,
|
||||||
long value ATTRIBUTE_UNUSED;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
const char **errmsg)
|
||||||
const char **errmsg;
|
|
||||||
{
|
{
|
||||||
if ((value & 1) != 0 && errmsg != NULL)
|
if ((value & 1) != 0 && errmsg != NULL)
|
||||||
*errmsg = _("source register operand must be even");
|
*errmsg = _("source register operand must be even");
|
||||||
|
@ -1420,21 +1377,19 @@ insert_rsq (insn, value, dialect, errmsg)
|
||||||
|
|
||||||
/*ARGSUSED*/
|
/*ARGSUSED*/
|
||||||
static unsigned long
|
static unsigned long
|
||||||
insert_sh6 (insn, value, dialect, errmsg)
|
insert_sh6 (unsigned long insn,
|
||||||
unsigned long insn;
|
long value,
|
||||||
long value;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
const char **errmsg ATTRIBUTE_UNUSED)
|
||||||
const char **errmsg ATTRIBUTE_UNUSED;
|
|
||||||
{
|
{
|
||||||
return insn | ((value & 0x1f) << 11) | ((value & 0x20) >> 4);
|
return insn | ((value & 0x1f) << 11) | ((value & 0x20) >> 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*ARGSUSED*/
|
/*ARGSUSED*/
|
||||||
static long
|
static long
|
||||||
extract_sh6 (insn, dialect, invalid)
|
extract_sh6 (unsigned long insn,
|
||||||
unsigned long insn;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
int *invalid ATTRIBUTE_UNUSED)
|
||||||
int *invalid ATTRIBUTE_UNUSED;
|
|
||||||
{
|
{
|
||||||
return ((insn >> 11) & 0x1f) | ((insn << 4) & 0x20);
|
return ((insn >> 11) & 0x1f) | ((insn << 4) & 0x20);
|
||||||
}
|
}
|
||||||
|
@ -1443,20 +1398,18 @@ extract_sh6 (insn, dialect, invalid)
|
||||||
lower 5 bits are stored in the upper 5 and vice- versa. */
|
lower 5 bits are stored in the upper 5 and vice- versa. */
|
||||||
|
|
||||||
static unsigned long
|
static unsigned long
|
||||||
insert_spr (insn, value, dialect, errmsg)
|
insert_spr (unsigned long insn,
|
||||||
unsigned long insn;
|
long value,
|
||||||
long value;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
const char **errmsg ATTRIBUTE_UNUSED)
|
||||||
const char **errmsg ATTRIBUTE_UNUSED;
|
|
||||||
{
|
{
|
||||||
return insn | ((value & 0x1f) << 16) | ((value & 0x3e0) << 6);
|
return insn | ((value & 0x1f) << 16) | ((value & 0x3e0) << 6);
|
||||||
}
|
}
|
||||||
|
|
||||||
static long
|
static long
|
||||||
extract_spr (insn, dialect, invalid)
|
extract_spr (unsigned long insn,
|
||||||
unsigned long insn;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
int *invalid ATTRIBUTE_UNUSED)
|
||||||
int *invalid ATTRIBUTE_UNUSED;
|
|
||||||
{
|
{
|
||||||
return ((insn >> 16) & 0x1f) | ((insn >> 6) & 0x3e0);
|
return ((insn >> 16) & 0x1f) | ((insn >> 6) & 0x3e0);
|
||||||
}
|
}
|
||||||
|
@ -1472,11 +1425,10 @@ extract_spr (insn, dialect, invalid)
|
||||||
#define TB (268)
|
#define TB (268)
|
||||||
|
|
||||||
static unsigned long
|
static unsigned long
|
||||||
insert_tbr (insn, value, dialect, errmsg)
|
insert_tbr (unsigned long insn,
|
||||||
unsigned long insn;
|
long value,
|
||||||
long value;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
const char **errmsg ATTRIBUTE_UNUSED)
|
||||||
const char **errmsg ATTRIBUTE_UNUSED;
|
|
||||||
{
|
{
|
||||||
if (value == 0)
|
if (value == 0)
|
||||||
value = TB;
|
value = TB;
|
||||||
|
@ -1484,10 +1436,9 @@ insert_tbr (insn, value, dialect, errmsg)
|
||||||
}
|
}
|
||||||
|
|
||||||
static long
|
static long
|
||||||
extract_tbr (insn, dialect, invalid)
|
extract_tbr (unsigned long insn,
|
||||||
unsigned long insn;
|
int dialect ATTRIBUTE_UNUSED,
|
||||||
int dialect ATTRIBUTE_UNUSED;
|
int *invalid ATTRIBUTE_UNUSED)
|
||||||
int *invalid ATTRIBUTE_UNUSED;
|
|
||||||
{
|
{
|
||||||
long ret;
|
long ret;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue