* 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 e6b985b..b73a2ea 100644 (file)
@@ -1,5 +1,11 @@
 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
        used in division/multiply macro expansions similarly to how they
        are used in the variants with break instructions.
index d66469e..778eec1 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);