Commit 03fd30b1 by Andrew Pinski Committed by Andrew Pinski

spu.md (smulsi3_highpart): Unshare the rtl chain.

2007-05-24  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * config/spu/spu.md (smulsi3_highpart): Unshare the rtl chain.
        (umulsi3_highpart): Likewise.

From-SVN: r125055
parent 8132b797
2007-05-24 Andrew Pinski <andrew_pinski@playstation.sony.com>
* config/spu/spu.md (smulsi3_highpart): Unshare the rtl chain.
(umulsi3_highpart): Likewise.
2007-05-24 Ian Lance Taylor <iant@google.com> 2007-05-24 Ian Lance Taylor <iant@google.com>
PR rtl-optimization/32069 PR rtl-optimization/32069
......
...@@ -1396,7 +1396,7 @@ ...@@ -1396,7 +1396,7 @@
rtx t0_hi = gen_rtx_SUBREG (HImode, t0, 2); rtx t0_hi = gen_rtx_SUBREG (HImode, t0, 2);
rtx t1_hi = gen_rtx_SUBREG (HImode, t1, 2); rtx t1_hi = gen_rtx_SUBREG (HImode, t1, 2);
emit_insn (gen_lshrsi3 (t0, operands[1], GEN_INT (16))); rtx insn = emit_insn (gen_lshrsi3 (t0, operands[1], GEN_INT (16)));
emit_insn (gen_lshrsi3 (t1, operands[2], GEN_INT (16))); emit_insn (gen_lshrsi3 (t1, operands[2], GEN_INT (16)));
emit_insn (gen_umulhisi3 (t2, op1_hi, op2_hi)); emit_insn (gen_umulhisi3 (t2, op1_hi, op2_hi));
emit_insn (gen_mpyh_si (t3, operands[1], operands[2])); emit_insn (gen_mpyh_si (t3, operands[1], operands[2]));
...@@ -1425,6 +1425,7 @@ ...@@ -1425,6 +1425,7 @@
emit_insn (gen_extendhisi2 (t20, t18)); emit_insn (gen_extendhisi2 (t20, t18));
emit_insn (gen_addsi3 (t21, t19, t20)); emit_insn (gen_addsi3 (t21, t19, t20));
emit_insn (gen_addsi3 (operands[0], t14, t21)); emit_insn (gen_addsi3 (operands[0], t14, t21));
unshare_all_rtl_in_chain (insn);
DONE; DONE;
}) })
...@@ -1456,7 +1457,7 @@ ...@@ -1456,7 +1457,7 @@
rtx op2_hi = gen_rtx_SUBREG (HImode, operands[2], 2); rtx op2_hi = gen_rtx_SUBREG (HImode, operands[2], 2);
rtx t0_hi = gen_rtx_SUBREG (HImode, t0, 2); rtx t0_hi = gen_rtx_SUBREG (HImode, t0, 2);
emit_insn (gen_rotlsi3 (t0, operands[2], GEN_INT (16))); rtx insn = emit_insn (gen_rotlsi3 (t0, operands[2], GEN_INT (16)));
emit_insn (gen_umulhisi3 (t1, op1_hi, op2_hi)); emit_insn (gen_umulhisi3 (t1, op1_hi, op2_hi));
emit_insn (gen_umulhisi3 (t2, op1_hi, t0_hi)); emit_insn (gen_umulhisi3 (t2, op1_hi, t0_hi));
emit_insn (gen_mpyhhu_si (t3, operands[1], t0)); emit_insn (gen_mpyhhu_si (t3, operands[1], t0));
...@@ -1475,6 +1476,7 @@ ...@@ -1475,6 +1476,7 @@
emit_insn (gen_addx_si (t13, t4, t7, t10)); emit_insn (gen_addx_si (t13, t4, t7, t10));
emit_insn (gen_addx_si (t14, t13, t8, t12)); emit_insn (gen_addx_si (t14, t13, t8, t12));
emit_insn (gen_movsi (operands[0], t14)); emit_insn (gen_movsi (operands[0], t14));
unshare_all_rtl_in_chain (insn);
DONE; 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