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. >>> >>> >>> r~ >>> >>>