http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52932
--- Comment #13 from uros at gcc dot gnu.org 2012-04-16 16:03:55 UTC --- Author: uros Date: Mon Apr 16 16:03:51 2012 New Revision: 186500 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=186500 Log: 2012-04-16 Uros Bizjak <ubiz...@gmail.com> Backport from mainline 2012-04-12 Uros Bizjak <ubiz...@gmail.com> PR target/52932 * config/i386/avx2intrin.h (_mm256_permutevar8x32_ps): Change second argument type to __m256i. Update call to __builtin_ia32_permvarsf256. * config/i386/sse.md (avx2_permvarv8sf): Change operand 1 to V8SI. (avx2_permvarv8sf, avx2_permvarv8si): Switch operands 1 and 2. * config/i386/i386.c (bdesc_args) <__builtin_ia32_permvarsf256>: Update builtin type to V8SF_FTYPE_V8SF_V8SI. (ix86_expand_vec_perm): Update calls to gen_avx2_permvarv8si and gen_avx2_permvarv8sf. testsuite/ChangeLog: 2012-04-16 Uros Bizjak <ubiz...@gmail.com> Backport from mainline 2012-04-12 Uros Bizjak <ubiz...@gmail.com> PR target/52932 * gcc.target/i386/avx2-vpermps-1.c (avx2_test): Use __m256i type for second function argument. * gcc.target/i386/avx2-vpermps-2.c (init_permps): Update declaration. (calc_permps): Update declaration. Calculate result correctly. (avx2_test): Change src2 type to union256i_d. * gcc.target/i386/avx2-vpermd-2.c (calc_permd): Calculate result correctly. Modified: branches/gcc-4_7-branch/gcc/ChangeLog branches/gcc-4_7-branch/gcc/config/i386/avx2intrin.h branches/gcc-4_7-branch/gcc/config/i386/i386.c branches/gcc-4_7-branch/gcc/config/i386/sse.md branches/gcc-4_7-branch/gcc/testsuite/ChangeLog branches/gcc-4_7-branch/gcc/testsuite/gcc.target/i386/avx2-vpermd-2.c branches/gcc-4_7-branch/gcc/testsuite/gcc.target/i386/avx2-vpermps-1.c branches/gcc-4_7-branch/gcc/testsuite/gcc.target/i386/avx2-vpermps-2.c