re PR rtl-optimization/35281 (multiply with 0 generated for 64*32->64)
2008-03-11 Paolo Bonzini <bonzini@gnu.org> PR rtl-optimization/35281 * expr.c (convert_move): Use a new pseudo for the intermediate from_mode->word_mode result. From-SVN: r133116
This commit is contained in:
parent
30e257e544
commit
2f6025a15b
|
@ -1,3 +1,9 @@
|
||||||
|
2008-03-11 Paolo Bonzini <bonzini@gnu.org>
|
||||||
|
|
||||||
|
PR rtl-optimization/35281
|
||||||
|
* expr.c (convert_move): Use a new pseudo for the intermediate
|
||||||
|
from_mode->word_mode result.
|
||||||
|
|
||||||
2008-03-11 Paolo Bonzini <bonzini@gnu.org>
|
2008-03-11 Paolo Bonzini <bonzini@gnu.org>
|
||||||
|
|
||||||
* langhooks-def.h (LANG_HOOKS_CLEAR_BINDING_STACK): Delete.
|
* langhooks-def.h (LANG_HOOKS_CLEAR_BINDING_STACK): Delete.
|
||||||
|
|
|
@ -552,15 +552,15 @@ convert_move (rtx to, rtx from, int unsignedp)
|
||||||
&& ((code = can_extend_p (to_mode, word_mode, unsignedp))
|
&& ((code = can_extend_p (to_mode, word_mode, unsignedp))
|
||||||
!= CODE_FOR_nothing))
|
!= CODE_FOR_nothing))
|
||||||
{
|
{
|
||||||
|
rtx word_to = gen_reg_rtx (word_mode);
|
||||||
if (REG_P (to))
|
if (REG_P (to))
|
||||||
{
|
{
|
||||||
if (reg_overlap_mentioned_p (to, from))
|
if (reg_overlap_mentioned_p (to, from))
|
||||||
from = force_reg (from_mode, from);
|
from = force_reg (from_mode, from);
|
||||||
emit_insn (gen_rtx_CLOBBER (VOIDmode, to));
|
emit_insn (gen_rtx_CLOBBER (VOIDmode, to));
|
||||||
}
|
}
|
||||||
convert_move (gen_lowpart (word_mode, to), from, unsignedp);
|
convert_move (word_to, from, unsignedp);
|
||||||
emit_unop_insn (code, to,
|
emit_unop_insn (code, to, word_to, equiv_code);
|
||||||
gen_lowpart (word_mode, to), equiv_code);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue