PING
On Wed, Aug 27, 2014 at 7:50 PM, Evgeny Stupachenko <[email protected]> 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 <[email protected]> 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~ >> >>
