re PR target/52568 (suboptimal __builtin_shuffle on cycles with AVX)
commit81de8b03e081561c474924ef9ad705921648f1f4
authorJakub Jelinek <jakub@redhat.com>
Thu, 15 Mar 2012 23:46:34 +0000 (16 00:46 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 15 Mar 2012 23:46:34 +0000 (16 00:46 +0100)
tree2c00e66ff7d5c03422892fb1b020e0ba7af93142
parentb82277395eb57ad0f2fd4d129e3497c74fb74fe0
re PR target/52568 (suboptimal __builtin_shuffle on cycles with AVX)

PR target/52568
* config/i386/i386.c (expand_vec_perm_vperm2f128_vblend): New
function.
(ix86_expand_vec_perm_const_1): Use it.

* gcc.dg/torture/vshuf-4.inc: Add two new tests.
* gcc.dg/torture/vshuf-8.inc: Likewise.
* gcc.dg/torture/vshuf-16.inc: Likewise.
* gcc.dg/torture/vshuf-32.inc: Likewise.

From-SVN: r185447
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/torture/vshuf-16.inc
gcc/testsuite/gcc.dg/torture/vshuf-32.inc
gcc/testsuite/gcc.dg/torture/vshuf-4.inc
gcc/testsuite/gcc.dg/torture/vshuf-8.inc