This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, x86] Improves x86 permutation expand
- From: Evgeny Stupachenko <evstupac at gmail dot com>
- To: Uros Bizjak <ubizjak at gmail dot com>
- Cc: Richard Henderson <rth at redhat dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 4 Jul 2014 16:49:43 +0400
- Subject: Re: [PATCH, x86] Improves x86 permutation expand
- Authentication-results: sourceware.org; auth=none
- References: <CAOvf_xwh02FHmgQDe+7Qj0Dec0c8LuqBjP5UaMkc4TwrdP11nA at mail dot gmail dot com> <53909F88 dot 7070009 at redhat dot com> <CAOvf_xwdO2rn+GWiBNF9=9LJBCepfttc5UYEct10aXmT6aCvjQ at mail dot gmail dot com> <5395E10A dot 6030103 at redhat dot com> <CAOvf_xwib1Zd_Qp-+Vx3FMeJGk=gm+qSo972WbDo7k=LAUytSg at mail dot gmail dot com> <53960FB5 dot 20207 at redhat dot com> <CAOvf_xzoitm4Dt+vzdyigaRWxy0y_9V9JLTORoA0FjiAmL=4mA at mail dot gmail dot com> <CAFULd4YvwTZG6zSB-HsBdvAOZZvX5ZFjEU0PZSqYyES5NjaE4w at mail dot gmail dot com>
2014-07-04 Evgeny Stupachenko <evstupac@gmail.com>
* config/i386/i386.c (expand_vec_perm_pblendv): Disable for AVX.
On Fri, Jul 4, 2014 at 3:20 PM, Uros Bizjak <ubizjak@gmail.com> wrote:
> On Thu, Jul 3, 2014 at 10:57 AM, Evgeny Stupachenko <evstupac@gmail.com> wrote:
>> The following patch should fix 61618
>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61618
>>
>> diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
>> index 8046c67..2cffcef 100644
>> --- a/gcc/config/i386/i386.c
>> +++ b/gcc/config/i386/i386.c
>> @@ -43211,12 +43211,10 @@ expand_vec_perm_pblendv (struct expand_vec_perm_d *d)
>> bool ok;
>>
>> /* Use the same checks as in expand_vec_perm_blend, but skipping
>> - AVX2 as it requires more than 2 instructions for general case. */
>> + AVX float case and AVX2 as they require more than 2 instructions. */
>> if (d->one_operand_p)
>> return false;
>> - if (TARGET_AVX && (vmode == V4DFmode || vmode == V8SFmode))
>> - ;
>> - else if (TARGET_SSE4_1 && GET_MODE_SIZE (vmode) == 16)
>> + if (TARGET_SSE4_1 && GET_MODE_SIZE (vmode) == 16)
>> ;
>> else
>> return false;
>
> ChangeLog entry is missing.
>
> Uros.