r180212 - in /trunk/gcc: ChangeLog config/i386/...
jakub@gcc.gnu.org
jakub@gcc.gnu.org
Wed Oct 19 22:08:00 GMT 2011
Author: jakub
Date: Wed Oct 19 22:08:21 2011
New Revision: 180212
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=180212
Log:
* 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.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/i386/i386.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/gcc.dg/torture/vshuf-16.inc
trunk/gcc/testsuite/gcc.dg/torture/vshuf-32.inc
trunk/gcc/testsuite/gcc.dg/torture/vshuf-4.inc
trunk/gcc/testsuite/gcc.dg/torture/vshuf-8.inc
More information about the Gcc-cvs
mailing list