diff options
author | Maciej W. Rozycki <macro@linux-mips.org> | 2002-07-08 22:42:09 +0000 |
---|---|---|
committer | Maciej W. Rozycki <macro@linux-mips.org> | 2002-07-08 22:42:09 +0000 |
commit | 3a482fd5233ea32e3dfa00dbf0ab72f89a4687e4 (patch) | |
tree | cfe077342be9205c6bec8eab2dd0cba3da84b799 /gas/config | |
parent | 5b53c3368bf8829c24ca013fb6e2d49f6300c727 (diff) | |
download | gdb-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.
Diffstat (limited to 'gas/config')
-rw-r--r-- | gas/config/tc-mips.c | 10 |
1 files changed, 5 insertions, 5 deletions
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 |