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, i386, PR target/70799, 1/2] Support constants in STV pass (DImode)


On Fri, Apr 29, 2016 at 8:42 AM, Ilya Enkovich <enkovich.gnu@gmail.com> wrote:
> Hi,
>
> As the first part of PR70799 fix I'd like to add constants support for
> DI-STV pass (which is also related to PR70763).  This patch adds CONST_INT
> support as insn operands and extends cost model accordingly.
>
> Bootstrapped and regtested on x86_64-unknown-linux-gnu{-m32}.  OK for trunk?
>
> Thanks,
> Ilya
> --
> gcc/
>
> 2016-04-29  Ilya Enkovich  <ilya.enkovich@intel.com>
>
>         PR target/70799
>         PR target/70763
>         * config/i386/i386.c (dimode_scalar_to_vector_candidate_p): Allow
>         integer constants.
>         (dimode_scalar_chain::vector_const_cost): New.
>         (dimode_scalar_chain::compute_convert_gain): Handle constants.
>         (dimode_scalar_chain::convert_op): Likewise.
>         (dimode_scalar_chain::convert_insn): Likewise.

I think we should fix STV regression first:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70321

In 64-bit, STV is run before CSE2 pass.  Can we do that for 32-bit?


H.J.


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