Commit 9cb96754 by Naveen.H.S Committed by DJ Delorie

m32c.c (m32c_expand_insv): Check that the value we're inserting is a singlt-bit constant.

* config/m32c/m32c.c (m32c_expand_insv): Check that the value
we're inserting is a singlt-bit constant.

Co-Authored-By: DJ Delorie <dj@redhat.com>

From-SVN: r114250
parent 96a782e2
2006-05-30 Naveen.H.S <naveenh@kpitcummins.com>
DJ Delorie <dj@redhat.com>
* config/m32c/m32c.c (m32c_expand_insv): Check that the value
we're inserting is a singlt-bit constant.
2006-05-30 Roger Sayle <roger@eyesopen.com> 2006-05-30 Roger Sayle <roger@eyesopen.com>
* simplify-rtx.c (simplify_binary_operation_1) <LSHIFTRT>: Cast * simplify-rtx.c (simplify_binary_operation_1) <LSHIFTRT>: Cast
......
...@@ -3435,6 +3435,14 @@ m32c_expand_insv (rtx *operands) ...@@ -3435,6 +3435,14 @@ m32c_expand_insv (rtx *operands)
if (INTVAL (operands[1]) != 1) if (INTVAL (operands[1]) != 1)
return 1; return 1;
/* Our insv opcode (bset, bclr) can only insert a one-bit constant. */
if (GET_CODE (operands[3]) != CONST_INT)
return 1;
if (INTVAL (operands[3]) != 0
&& INTVAL (operands[3]) != 1
&& INTVAL (operands[3]) != -1)
return 1;
mask = 1 << INTVAL (operands[2]); mask = 1 << INTVAL (operands[2]);
op0 = operands[0]; op0 = operands[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