fix sign extension problem with d30v

This commit is contained in:
Michael Meissner 2000-03-02 22:18:12 +00:00
parent d018757450
commit b7b8f32709
2 changed files with 5 additions and 4 deletions

View file

@ -1,3 +1,8 @@
2000-03-02 Michael Meissner <meissner@redhat.com>
* 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.

View file

@ -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.... */