diff options
author | Ian Lance Taylor <ian@airs.com> | 1996-05-31 05:10:20 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1996-05-31 05:10:20 +0000 |
commit | 98bfd087ca4d685bd1f5fee2125907fdfcaba2b0 (patch) | |
tree | 950b698e65701637782ace5bac706bf536d5b05f /gas/config/tc-mips.c | |
parent | 76bda7a4244892093352e5843bedb671b81597d8 (diff) | |
download | gdb-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.c | 16 |
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, |