This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] PR/35281 1/2, fix convert_move


On Mon, Mar 10, 2008 at 4:05 PM, Paolo Bonzini <bonzini@gnu.org> wrote:
> convert_move tries to do a two step conversion when from_mode is smaller
>  than word_mode, and to_mode is larger.  However, using gen_lowpart for
>  the intermediate result gives hard-to-optimize RTL like:
>
>      (set (subreg:SI (reg:DI x) 0) (zero_extend:SI (reg:HI y)))
>      (set (reg:DI x) (zero_extend:DI (subreg:SI (reg:DI x 0))))
>
>  Using a new pseudo, and together with 2/2, GCC is able to optimize a
>  64x16->64 multiplication successfully.
>
>  Bootstrapped/regtested i686-pc-linux-gnu, ok for mainline?

Ok.

Thanks,
Richard.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]