* tc-d10v.c: Disable range checking on 16-bit values.
long min, max, bit1;
int retval=0;
+ /* don't bother checking 16-bit values */
+ if (bits == 16)
+ return 0;
+
if (flags & OPERAND_SHIFT)
{
/* all special shift operands are unsigned */
if (flags & OPERAND_SIGNED)
{
- bit1 = (1 << (bits - 1));
- max = bit1 -1;
- if (num & max)
- {
- /* sign-extend */
- num = ((num & (bit1 | max))^(~max))+bit1;
- }
-
+ max = (1 << (bits - 1))-1;
min = - (1 << (bits - 1));
if (((long)num > max) || ((long)num < min))
retval = 1;
if ((num > max) || (num < min))
retval = 1;
}
-
return retval;
}