It fix "gcc.target/i386/pr52252-atom.c" in core-avx2 make check and pr62128.
On Tue, Sep 16, 2014 at 6:51 PM, H.J. Lu <hjl.to...@gmail.com> wrote: > On Tue, Sep 16, 2014 at 6:15 AM, Evgeny Stupachenko <evstu...@gmail.com> > wrote: >> PING 2 >> >> On Mon, Sep 8, 2014 at 2:03 PM, Evgeny Stupachenko <evstu...@gmail.com> >> wrote: >>> PING >>> >>> On Wed, Aug 27, 2014 at 7:50 PM, Evgeny Stupachenko <evstu...@gmail.com> >>> wrote: >>>> The rotate insn appeared right after expand. >>>> I've done it similar to define_insn_and_split >>>> "*avx_vperm_broadcast_<mode>". >>>> I don't see any potential losses on splitting that after reload. >>>> >>>> On Tue, Aug 26, 2014 at 8:29 PM, Richard Henderson <r...@redhat.com> wrote: >>>>> On 08/26/2014 05:59 AM, Evgeny Stupachenko wrote: >>>>>> +(define_insn_and_split "avx2_rotate<mode>_perm" >>>>>> + [(set (match_operand:V_256 0 "register_operand" "=&x") >>>>>> + (vec_select:V_256 >>>>>> + (match_operand:V_256 1 "register_operand" "x") >>>>>> + (match_parallel 2 "palignr_operand" >>>>>> + [(match_operand 3 "const_int_operand" "n")])))] >>>>>> + "TARGET_AVX2" >>>>>> + "#" >>>>>> + "&& reload_completed" >>>>>> + [(const_int 0)] >>>>> >>>>> Why are you waiting until after reload to expand this? It's only the >>>>> vec_select parallel that determines which direction the palignr should be >>>>> done. >>>>> >>>>> This seems like something you could do during permutation expansion. >>>>> >>>>> > > Assuming your change is triggered today without any additional changes > you should include some testcases. For now, it doesn't show if it does > anything useful. > > -- > H.J.