Commit 1347292b by Jim Wilson

(force_to_mode, LSHIFTRT case): Avoid shifts larger

than HOST_BITS_PER_WIDE_INT.

From-SVN: r5516
parent b5e96255
......@@ -5771,10 +5771,12 @@ force_to_mode (x, mode, mask, reg)
break;
case LSHIFTRT:
/* Here we can only do something if the shift count is a constant and
we can do arithmetic in OP_MODE. */
/* Here we can only do something if the shift count is a constant,
this shift constant is valid for the host, and we can do arithmetic
in OP_MODE. */
if (GET_CODE (XEXP (x, 1)) == CONST_INT
&& INTVAL (XEXP (x, 1)) < HOST_BITS_PER_WIDE_INT
&& GET_MODE_BITSIZE (op_mode) <= HOST_BITS_PER_WIDE_INT)
{
rtx inner = XEXP (x, 0);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment