* config/i386/i386.c (ix86_split_ashrdi): Optimize shift by 63.
From-SVN: r79397
This commit is contained in:
parent
b8d5073947
commit
8937b6a209
|
@ -1,3 +1,7 @@
|
|||
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>
|
||||
|
||||
* target.h (struct gcc_target): New target hook, unwind_label.
|
||||
|
|
|
@ -10873,7 +10873,14 @@ ix86_split_ashrdi (rtx *operands, rtx scratch)
|
|||
split_di (operands, 2, low, high);
|
||||
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]);
|
||||
|
||||
|
|
Loading…
Reference in New Issue