(simplify_binary_operation): Insure that folded >> extends

the sign even if the host bootstrap compiler doesn't.

From-SVN: r2446
This commit is contained in:
Richard Stallman 1992-10-14 01:20:21 +00:00
parent 9f61f8addd
commit 2166571b8f

View File

@ -3964,6 +3964,12 @@ simplify_binary_operation (code, mode, op0, op1)
return 0; return 0;
val = arg0s >> arg1; val = arg0s >> arg1;
/* Bootstrap compiler may not have sign extended the right shift.
Manually extend the sign to insure bootstrap cc matches gcc. */
if (arg0s < 0 && arg1 > 0)
val |= ((HOST_WIDE_INT) -1) << (HOST_BITS_PER_WIDE_INT - arg1);
break; break;
case ROTATERT: case ROTATERT: