Commit 8937b6a2 by Roger Sayle Committed by Roger Sayle

* config/i386/i386.c (ix86_split_ashrdi): Optimize shift by 63.

From-SVN: r79397
parent b8d50739
2004-03-12 Roger Sayle <roger@eyesopen.com>
* config/i386/i386.c (ix86_split_ashrdi): Optimize shift by 63.
2004-03-12 Matt Austern <austern@apple.com> 2004-03-12 Matt Austern <austern@apple.com>
* target.h (struct gcc_target): New target hook, unwind_label. * target.h (struct gcc_target): New target hook, unwind_label.
......
...@@ -10873,7 +10873,14 @@ ix86_split_ashrdi (rtx *operands, rtx scratch) ...@@ -10873,7 +10873,14 @@ ix86_split_ashrdi (rtx *operands, rtx scratch)
split_di (operands, 2, low, high); split_di (operands, 2, low, high);
count = INTVAL (operands[2]) & 63; count = INTVAL (operands[2]) & 63;
if (count >= 32) if (count == 63)
{
emit_move_insn (high[0], high[1]);
emit_insn (gen_ashrsi3 (high[0], high[0], GEN_INT (31)));
emit_move_insn (low[0], high[0]);
}
else if (count >= 32)
{ {
emit_move_insn (low[0], high[1]); emit_move_insn (low[0], high[1]);
......
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