Commit db826dae by Andy Hutchinson

re PR middle-end/41738 (optabs expands rotate using wrong mode)

2009-10-17  Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
PR middle-end/41738
* optabs.c (expand_binop): Make mode of shift count expression mode of shift count not target.
Remove indent nit.

From-SVN: r152961
parent d79c2936
2009-10-17 Andy Hutchinson <hutchinsonandy@gcc.gnu.org>
PR middle-end/41738
* optabs.c (expand_binop): Make mode of shift count expression mode
of shift count not target.
Remove indent nit.
2009-10-17 Eric Botcazou <ebotcazou@adacore.com>
* tree-nested.c (convert_nonlocal_reference_stmt) <GIMPLE_COND>: New
......@@ -1595,11 +1595,11 @@ expand_binop (enum machine_mode mode, optab binoptab, rtx op0, rtx op1,
unsigned int bits = GET_MODE_BITSIZE (mode);
if (CONST_INT_P (op1))
newop1 = GEN_INT (bits - INTVAL (op1));
newop1 = GEN_INT (bits - INTVAL (op1));
else if (targetm.shift_truncation_mask (mode) == bits - 1)
newop1 = negate_rtx (mode, op1);
newop1 = negate_rtx (GET_MODE (op1), op1);
else
newop1 = expand_binop (mode, sub_optab,
newop1 = expand_binop (GET_MODE (op1), sub_optab,
GEN_INT (bits), op1,
NULL_RTX, unsignedp, OPTAB_DIRECT);
......
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