i386.c (expand_vec_perm_vpshufb2_vpermq_even_odd): Use d->op1 instead of d->op0…
i386.c (expand_vec_perm_vpshufb2_vpermq_even_odd): Use d->op1 instead of d->op0 for the second vpshufb. * config/i386/i386.c (expand_vec_perm_vpshufb2_vpermq_even_odd): Use d->op1 instead of d->op0 for the second vpshufb. (expand_vec_perm_even_odd_1): For V8SImode fix vpshufd immediates. (ix86_expand_vec_perm_const): If mask indicates two operands are needed, but both are the same and expanding them as d.op0 == d.op1 failed, retry with d.op0 != d.op1. (ix86_expand_vec_perm_builtin): Likewise. Handle sorry printing also for d.nelt == 32. * gcc.dg/torture/vshuf-32.inc: Add interleave permutations. * gcc.dg/torture/vshuf-16.inc: Likewise. * gcc.dg/torture/vshuf-8.inc: Likewise. * gcc.dg/torture/vshuf-4.inc: Likewise. From-SVN: r180212
Showing
Please
register
or
sign in
to comment