* config/tc-mips.c (macro): Use codes 6 and 7 in trap instructions

used in division/multiply macro expansions similarly to how they
are used in the variants with break instructions.
(macro2): Likewise.
This commit is contained in:
Maciej W. Rozycki 2002-07-30 19:24:54 +00:00
parent 2fda49774f
commit 9bd7d93600
2 changed files with 16 additions and 9 deletions

View File

@ -1,3 +1,10 @@
2002-07-30 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
* config/tc-mips.c (macro): Use codes 6 and 7 in trap instructions
used in division/multiply macro expansions similarly to how they
are used in the variants with break instructions.
(macro2): Likewise.
2002-07-30 Graeme Peterson <gp@qnx.com>
* configure.in: Add support for arm-*-nto target.

View File

@ -4231,7 +4231,7 @@ macro (ip)
as_warn (_("Divide by zero."));
if (mips_trap)
macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "teq",
"s,t", 0, 0);
"s,t,q", 0, 0, 7);
else
macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "break",
"c", 7);
@ -4244,7 +4244,7 @@ macro (ip)
if (mips_trap)
{
macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "teq",
"s,t", treg, 0);
"s,t,q", treg, 0, 7);
macro_build ((char *) NULL, &icnt, (expressionS *) NULL,
dbl ? "ddiv" : "div", "z,s,t", sreg, treg);
}
@ -4280,7 +4280,7 @@ macro (ip)
if (mips_trap)
{
macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "teq",
"s,t", sreg, AT);
"s,t,q", sreg, AT, 6);
/* We want to close the noreorder block as soon as possible, so
that later insns are available for delay slot filling. */
--mips_opts.noreorder;
@ -4343,7 +4343,7 @@ macro (ip)
as_warn (_("Divide by zero."));
if (mips_trap)
macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "teq",
"s,t", 0, 0);
"s,t,q", 0, 0, 7);
else
macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "break",
"c", 7);
@ -4399,7 +4399,7 @@ macro (ip)
if (mips_trap)
{
macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "teq",
"s,t", treg, 0);
"s,t,q", treg, 0, 7);
macro_build ((char *) NULL, &icnt, (expressionS *) NULL, s, "z,s,t",
sreg, treg);
/* We want to close the noreorder block as soon as possible, so
@ -6548,8 +6548,8 @@ macro2 (ip)
macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "mfhi", "d",
AT);
if (mips_trap)
macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "tne", "s,t",
dreg, AT);
macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "tne",
"s,t,q", dreg, AT, 6);
else
{
expr1.X_add_number = 8;
@ -6587,8 +6587,8 @@ macro2 (ip)
macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "mflo", "d",
dreg);
if (mips_trap)
macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "tne", "s,t",
AT, 0);
macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "tne",
"s,t,q", AT, 0, 6);
else
{
expr1.X_add_number = 8;