On Wed, Oct 1, 2014 at 10:43 PM, Jakub Jelinek <ja...@redhat.com> wrote:
> > For PR62128, IMHO the right fix is attached. Note, this is again covered > > in vshuf-*.c tests (test 22 in both vshuf-v32*.c and vshuf-v16*.c). > > With that attached patch, pr62128.c (aka test_22 in vshuf-v32qi.c), changes: > > - vpshufb .LC0(%rip), %ymm0, %ymm1 > > - vpshufb .LC1(%rip), %ymm0, %ymm0 > > - vpermq $78, %ymm1, %ymm1 > > - vpor %ymm1, %ymm0, %ymm0 > > + vpermq $78, %ymm0, %ymm1 > > + vpalignr $1, %ymm0, %ymm1, %ymm0 > > ret > > > > 2014-10-01 Jakub Jelinek <ja...@redhat.com> > > > > PR target/62128 > > * config/i386/i386.c (expand_vec_perm_1): Try expand_vec_perm_palignr > > if it expands to a single insn only. > > (expand_vec_perm_palignr): Add SINGLE_INSN_ONLY_P argument. If true, > > fail unless in_order is true. Add forward declaration. > > (expand_vec_perm_vperm2f128): Fix up comment about which permutation > > is useful for one_operand_p. > > (ix86_expand_vec_perm_const_1): Adjust expand_vec_perm_palignr caller. > > Now bootstrapped/regtested on x86_64-linux and i686-linux (and additionally > tested also with --target_board=unix/-mavx2), ok for trunk? > OK. Thanks, Uros.