[Bug target/53435] New: (ix86_expand_vec_perm) and (ix86_expand_vec_perm) do not pass arguments to avx2_permvar8s[f,i] correctly

aivchenk at gmail dot com gcc-bugzilla@gcc.gnu.org
Mon May 21 12:37:00 GMT 2012


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53435

             Bug #: 53435
           Summary: (ix86_expand_vec_perm) and (ix86_expand_vec_perm) do
                    not pass arguments to avx2_permvar8s[f,i] correctly
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: aivchenk@gmail.com
                CC: areg.melikadamyan@gmail.com, hjl.tools@gmail.com,
                    kirill.yukhin@intel.com, ubizjak@gmail.com
            Target: i?86-*-* x86_64-*-*


Seems that after:

commit 8da8a06b586ddd9511b5c5c83e2c28ca8d7613a8
Author: uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Date:   Thu Apr 12 18:37:42 2012 +0000

        PR target/52932
        * config/i386/avx2intrin.h (_mm256_permutevar8x32_ps): Change second
        argument type to __m256i.  Update call to __builtin_ia32_permvarsf256.
...
        (avx2_permvarv8sf, avx2_permvarv8si): Switch operands 1 and 2.
...
        (ix86_expand_vec_perm): Update calls to gen_avx2_permvarv8si and
        gen_avx2_permvarv8sf.
        (expand_vec_perm_pshufb): Ditto.


gcc.c-torture/execute/vshuf-v* and gcc.dg/torture/pr45720.c fail.

The problem is that not everything that had to be changed was changed to use
the second argument as __m256i.

Please take a look at the attached patch that should fix those problems



More information about the Gcc-bugs mailing list