aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@linux-mips.org>2002-07-08 22:42:09 +0000
committerMaciej W. Rozycki <macro@linux-mips.org>2002-07-08 22:42:09 +0000
commit3a482fd5233ea32e3dfa00dbf0ab72f89a4687e4 (patch)
treecfe077342be9205c6bec8eab2dd0cba3da84b799
parent5b53c3368bf8829c24ca013fb6e2d49f6300c727 (diff)
downloadgdb-3a482fd5233ea32e3dfa00dbf0ab72f89a4687e4.zip
gdb-3a482fd5233ea32e3dfa00dbf0ab72f89a4687e4.tar.gz
gdb-3a482fd5233ea32e3dfa00dbf0ab72f89a4687e4.tar.bz2
* config/tc-mips.c (load_address): Use non-trapping "daddu"
instead of "dadd" in address calculations. (macro): Likewise.
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/config/tc-mips.c10
2 files changed, 11 insertions, 5 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 5cbc523..2fc3cfe 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,9 @@
+2002-07-08 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
+
+ * config/tc-mips.c (load_address): Use non-trapping "daddu"
+ instead of "dadd" in address calculations.
+ (macro): Likewise.
+
2002-07-08 Alan Modra <amodra@bigpond.net.au>
* config/tc-i386.c (process_suffix): Remove intel mode movsx and
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index c389964..47f43b0 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -3528,7 +3528,7 @@ load_address (counter, reg, ep, used_at)
daddiu $reg,<sym> (BFD_RELOC_MIPS_HIGHER)
daddiu $at,<sym> (BFD_RELOC_LO16)
dsll32 $reg,0
- dadd $reg,$reg,$at
+ daddu $reg,$reg,$at
If $at is already in use, we use an path which is suboptimal
on superscalar processors.
@@ -3556,7 +3556,7 @@ load_address (counter, reg, ep, used_at)
AT, AT, (int) BFD_RELOC_LO16);
macro_build (p, counter, (expressionS *) NULL, "dsll32",
"d,w,<", reg, reg, 0);
- macro_build (p, counter, (expressionS *) NULL, "dadd",
+ macro_build (p, counter, (expressionS *) NULL, "daddu",
"d,v,t", reg, reg, AT);
*used_at = 1;
}
@@ -4542,7 +4542,7 @@ macro (ip)
daddiu $tempreg,<sym> (BFD_RELOC_MIPS_HIGHER)
daddiu $at,<sym> (BFD_RELOC_LO16)
dsll32 $tempreg,0
- dadd $tempreg,$tempreg,$at
+ daddu $tempreg,$tempreg,$at
If $at is already in use, we use an path which is suboptimal
on superscalar processors.
@@ -4571,8 +4571,8 @@ macro (ip)
AT, AT, (int) BFD_RELOC_LO16);
macro_build (p, &icnt, (expressionS *) NULL, "dsll32",
"d,w,<", tempreg, tempreg, 0);
- macro_build (p, &icnt, (expressionS *) NULL, "dadd", "d,v,t",
- tempreg, tempreg, AT);
+ macro_build (p, &icnt, (expressionS *) NULL, "daddu",
+ "d,v,t", tempreg, tempreg, AT);
used_at = 1;
}
else