* config/tc-mips.c (load_address): Use non-trapping "daddu"
authorMaciej W. Rozycki <macro@linux-mips.org>
Mon, 8 Jul 2002 22:42:09 +0000 (22:42 +0000)
committerMaciej W. Rozycki <macro@linux-mips.org>
Mon, 8 Jul 2002 22:42:09 +0000 (22:42 +0000)
instead of "dadd" in address calculations.
(macro): Likewise.

gas/ChangeLog
gas/config/tc-mips.c

index 5cbc523..2fc3cfe 100644 (file)
@@ -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
index c389964..47f43b0 100644 (file)
@@ -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