diff options
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/config/tc-mips.c | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index e6b985b..b73a2ea 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -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. diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index d66469e..778eec1 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -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); |