diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a3b13510821..05df3c84fad 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2012-03-11 Uros Bizjak + + * config/i386/i386.c (ix86_zero_extend_to_Pmode): Rewrite using + convert_to_mode. + 2012-03-11 H.J. Lu * config/i386/i386.c (ix86_trampoline_init): Use movl for 64bit if @@ -5,8 +10,7 @@ 2012-03-11 H.J. Lu - * config/i386/i386.c (x86_this_parameter): Replace DImode with - Pmode. + * config/i386/i386.c (x86_this_parameter): Replace DImode with Pmode. 2012-03-11 H.J. Lu diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index f74914fbe40..cf4d1f61ed8 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -21025,14 +21025,9 @@ ix86_adjust_counter (rtx countreg, HOST_WIDE_INT value) rtx ix86_zero_extend_to_Pmode (rtx exp) { - rtx r; - if (GET_MODE (exp) == VOIDmode) - return force_reg (Pmode, exp); - if (GET_MODE (exp) == Pmode) - return copy_to_mode_reg (Pmode, exp); - r = gen_reg_rtx (Pmode); - emit_insn (gen_zero_extendsidi2 (r, exp)); - return r; + if (GET_MODE (exp) != Pmode) + exp = convert_to_mode (Pmode, exp, 1); + return force_reg (Pmode, exp); } /* Divide COUNTREG by SCALE. */