#ifdef SHIFT_COUNT_TRUNCATED
if (SHIFT_COUNT_TRUNCATED)
- arg1 &= (BITS_PER_WORD - 1);
+ arg1 %= width;
#endif
- if (arg1 >= width)
- return 0;
-
val = ((unsigned HOST_WIDE_INT) arg0) >> arg1;
break;
#ifdef SHIFT_COUNT_TRUNCATED
if (SHIFT_COUNT_TRUNCATED)
- arg1 &= (BITS_PER_WORD - 1);
+ arg1 %= width;
#endif
- if (arg1 >= width)
- return 0;
-
val = ((unsigned HOST_WIDE_INT) arg0) << arg1;
break;
#ifdef SHIFT_COUNT_TRUNCATED
if (SHIFT_COUNT_TRUNCATED)
- arg1 &= (BITS_PER_WORD - 1);
+ arg1 %= width;
#endif
- if (arg1 >= width)
- return 0;
-
val = arg0s >> arg1;
/* Bootstrap compiler may not have sign extended the right shift.