* 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:
parent
2fda49774f
commit
9bd7d93600
@ -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.
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user