* tc-mips.c (load_address): Don't clobber $at when loading a
authorMaciej W. Rozycki <macro@linux-mips.org>
Tue, 30 Jul 2002 19:27:31 +0000 (19:27 +0000)
committerMaciej W. Rozycki <macro@linux-mips.org>
Tue, 30 Jul 2002 19:27:31 +0000 (19:27 +0000)
64-bit address in non-PIC code if noat is in effect.
(macro): Likewise.

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

index e6b985ba5b62e929e44862557aeea60523a0a704..b73a2eafd938abf382500e70999110159230983f 100644 (file)
@@ -1,3 +1,9 @@
+2002-07-30  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
+
+       * tc-mips.c (load_address): Don't clobber $at when loading a
+       64-bit address in non-PIC code if noat is in effect.
+       (macro): Likewise.
+
 2002-07-30  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
 
        * config/tc-mips.c (macro): Use codes 6 and 7 in trap instructions
index d66469e87c523a12d8c29e7fe3b5764033c476e8..778eec174aaa8f60fd228e6e65cec3051e5f0891 100644 (file)
@@ -3519,7 +3519,7 @@ load_address (counter, reg, ep, used_at)
          /* We don't do GP optimization for now because RELAX_ENCODE can't
             hold the data for such large chunks.  */
 
-         if (*used_at == 0)
+         if (*used_at == 0 && ! mips_opts.noat)
            {
              macro_build (p, counter, ep, "lui", "t,u",
                           reg, (int) BFD_RELOC_MIPS_HIGHEST);
@@ -4534,7 +4534,7 @@ macro (ip)
              /* We don't do GP optimization for now because RELAX_ENCODE can't
                 hold the data for such large chunks.  */
 
-             if (used_at == 0)
+             if (used_at == 0 && ! mips_opts.noat)
                {
                  macro_build (p, &icnt, &offset_expr, "lui", "t,u",
                               tempreg, (int) BFD_RELOC_MIPS_HIGHEST);
@@ -5487,7 +5487,7 @@ macro (ip)
              /* We don't do GP optimization for now because RELAX_ENCODE can't
                 hold the data for such large chunks.  */
 
-             if (used_at == 0)
+             if (used_at == 0 && ! mips_opts.noat)
                {
                  macro_build (p, &icnt, &offset_expr, "lui", "t,u",
                               tempreg, (int) BFD_RELOC_MIPS_HIGHEST);