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