aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-mips.c
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1996-05-31 05:10:20 +0000
committerIan Lance Taylor <ian@airs.com>1996-05-31 05:10:20 +0000
commit98bfd087ca4d685bd1f5fee2125907fdfcaba2b0 (patch)
tree950b698e65701637782ace5bac706bf536d5b05f /gas/config/tc-mips.c
parent76bda7a4244892093352e5843bedb671b81597d8 (diff)
downloadgdb-98bfd087ca4d685bd1f5fee2125907fdfcaba2b0.zip
gdb-98bfd087ca4d685bd1f5fee2125907fdfcaba2b0.tar.gz
gdb-98bfd087ca4d685bd1f5fee2125907fdfcaba2b0.tar.bz2
* config/tc-mips.c (load_register): If mips_isa < 3, permit a 32
bit value with the high bit set.
Diffstat (limited to 'gas/config/tc-mips.c')
-rw-r--r--gas/config/tc-mips.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index b8759b4..23df337 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -1838,13 +1838,15 @@ load_register (counter, reg, ep, dbl)
(int) BFD_RELOC_LO16);
return;
}
- else if (((ep->X_add_number &~ (offsetT) 0x7fffffff) == 0
- || ((ep->X_add_number &~ (offsetT) 0x7fffffff)
- == ~ (offsetT) 0x7fffffff))
- && (! dbl
- || ! ep->X_unsigned
- || sizeof (ep->X_add_number) > 4
- || (ep->X_add_number & 0x80000000) == 0))
+ else if ((((ep->X_add_number &~ (offsetT) 0x7fffffff) == 0
+ || ((ep->X_add_number &~ (offsetT) 0x7fffffff)
+ == ~ (offsetT) 0x7fffffff))
+ && (! dbl
+ || ! ep->X_unsigned
+ || sizeof (ep->X_add_number) > 4
+ || (ep->X_add_number & 0x80000000) == 0))
+ || (mips_isa < 3
+ && (ep->X_add_number &~ 0xffffffff) == 0))
{
/* 32 bit values require an lui. */
macro_build ((char *) NULL, counter, ep, "lui", "t,u", reg,