Commit 39b52ba2 by Richard Kenner

(modsi3): Correct error in last change.

From-SVN: r6212
parent 3eda169f
......@@ -765,15 +765,21 @@
[(use (match_operand:SI 0 "gpc_reg_operand" ""))
(use (match_operand:SI 1 "gpc_reg_operand" ""))
(use (match_operand:SI 2 "const_int_operand" ""))]
"exact_log2 (INTVAL (operands[2])) >= 0"
""
"
{
rtx temp1 = gen_reg_rtx (SImode);
rtx temp2 = gen_reg_rtx (SImode);
int i = exact_log2 (INTVAL (operands[2]));
rtx temp1;
rtx temp2;
if (i < 0)
FAIL;
temp1 = gen_reg_rtx (SImode);
temp2 = gen_reg_rtx (SImode);
emit_insn (gen_divsi3 (temp1, operands[1], operands[2]));
emit_insn (gen_ashlsi3 (temp2, temp1,
GEN_INT (exact_log2 (INTVAL (operands[2])))));
emit_insn (gen_ashlsi3 (temp2, temp1, GEN_INT (i)));
emit_insn (gen_subsi3 (operands[0], operands[1], temp2));
DONE;
......
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