* config/tc-mips.c (macro) [ldd_std]: Don't attempt the GP
authorMaciej W. Rozycki <macro@linux-mips.org>
Thu, 14 Apr 2005 15:32:58 +0000 (15:32 +0000)
committerMaciej W. Rozycki <macro@linux-mips.org>
Thu, 14 Apr 2005 15:32:58 +0000 (15:32 +0000)
optimization for constant addresses.

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

index deab89a1e5202970c1987743b28311031b12ffe7..1ea7d3d376119c17ad976f51a5d533cf14527c44 100644 (file)
@@ -1,3 +1,8 @@
+2005-04-14  Maciej W. Rozycki  <macro@linux-mips.org>
+
+       * config/tc-mips.c (macro) [ldd_std]: Don't attempt the GP
+       optimization for constant addresses.
+
 2005-04-14  Nick Clifton  <nickc@redhat.com>
 
        * as.c (main): Move parse_args before symbol_begin and frag_init
index a13b06ece53d7662f4fff486e542ac02247647c1..19e8f90fe3278a3becce4a680dfb91fe064fbe5d 100644 (file)
@@ -6417,7 +6417,8 @@ macro (struct mips_cl_insn *ip)
             If there is a base register, we add it to $at after the
             lui instruction.  If there is a constant, we always use
             the last case.  */
-         if ((valueT) offset_expr.X_add_number <= MAX_GPREL_OFFSET
+         if (offset_expr.X_op == O_symbol
+             && (valueT) offset_expr.X_add_number <= MAX_GPREL_OFFSET
              && !nopic_need_relax (offset_expr.X_add_symbol, 1))
            {
              relax_start (offset_expr.X_add_symbol);