From 3a482fd5233ea32e3dfa00dbf0ab72f89a4687e4 Mon Sep 17 00:00:00 2001 From: "Maciej W. Rozycki" Date: Mon, 8 Jul 2002 22:42:09 +0000 Subject: [PATCH] * config/tc-mips.c (load_address): Use non-trapping "daddu" instead of "dadd" in address calculations. (macro): Likewise. --- gas/ChangeLog | 6 ++++++ gas/config/tc-mips.c | 10 +++++----- 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 + + * config/tc-mips.c (load_address): Use non-trapping "daddu" + instead of "dadd" in address calculations. + (macro): Likewise. + 2002-07-08 Alan Modra * 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, (BFD_RELOC_MIPS_HIGHER) daddiu $at, (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, (BFD_RELOC_MIPS_HIGHER) daddiu $at, (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 -- 2.7.4