From: Michael Meissner Date: Thu, 2 Mar 2000 22:18:12 +0000 (+0000) Subject: fix sign extension problem with d30v X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b7b8f32709d3b96122e0732c07560ae57d0aa06d;p=binutils-gdb.git fix sign extension problem with d30v --- diff --git a/gas/ChangeLog b/gas/ChangeLog index 2eca96e5074..ee7089fbe10 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2000-03-02 Michael Meissner + + * config/tc-d30v.c (check_range): Remove code that incorrectly + sign extended values where bits < 32. + 2000-03-02 H.J. Lu (hjl@gnu.org) * configure.in: Support --enable-targets=all on ia32. diff --git a/gas/config/tc-d30v.c b/gas/config/tc-d30v.c index c894e2bd1ed..c95a8d2b4c5 100644 --- a/gas/config/tc-d30v.c +++ b/gas/config/tc-d30v.c @@ -247,10 +247,6 @@ check_range (num, bits, flags) if (bits == 32 && sizeof(unsigned long) * CHAR_BIT == 32) return 0; - /* Sign extend signed values to unsigned long */ - if ((flags & OPERAND_SIGNED) && (num & ((unsigned long)1 << (bits - 1)))) - num |= ((long)-1 << (bits - 1)); - if (flags & OPERAND_SHIFT) { /* We know that all shifts are right by three bits.... */