* sh.md (ffssi2): Fix emitted code.

From-SVN: r57984
This commit is contained in:
J"orn Rennecke 2002-10-09 15:07:19 +00:00 committed by Joern Rennecke
parent 0c479bf5ca
commit e3c6252002
2 changed files with 11 additions and 6 deletions

View File

@ -1,3 +1,7 @@
Wed Oct 9 15:54:49 2002 J"orn Rennecke <joern.rennecke@superh.com>
* sh.md (ffssi2): Fix emitted code.
2002-10-09 Ulrich Weigand <uweigand@de.ibm.com>
* cse.c (insn_live_p): Pass insn pattern, not full insn

View File

@ -10380,14 +10380,15 @@
rtx discratch = gen_reg_rtx (DImode);
rtx last;
emit_insn (gen_adddi3z_media (discratch, operands[1],
force_reg (SImode, GEN_INT (-1))));
emit_insn (gen_andcdi3 (discratch, discratch,
simplify_gen_subreg (DImode, operands[1],
SImode, 0)));
emit_insn (gen_adddi3 (discratch,
simplify_gen_subreg (DImode, operands[1], SImode, 0),
GEN_INT (-1)));
emit_insn (gen_andcdi3 (discratch,
simplify_gen_subreg (DImode, operands[1], SImode, 0),
discratch));
emit_insn (gen_nsbsi (scratch, discratch));
last = emit_insn (gen_subsi3 (operands[0],
force_reg (SImode, GEN_INT (-64)), scratch));
force_reg (SImode, GEN_INT (63)), scratch));
REG_NOTES (last)
= gen_rtx_EXPR_LIST (REG_EQUAL,
gen_rtx_FFS (SImode, operands[0]), REG_NOTES (last));