[PATCH, x86] Improves x86 permutation expand

Evgeny Stupachenko evstupac@gmail.com
Thu Jul 3 08:58:00 GMT 2014


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;

Evgeny

On Mon, Jun 9, 2014 at 11:49 PM, Richard Henderson <rth@redhat.com> wrote:
> On 06/09/2014 12:10 PM, Evgeny Stupachenko wrote:
>> Nice catch.
>> Patch with corresponding changes:
>
> Looks ok with an appropriate changelog.
>
>
> r~



More information about the Gcc-patches mailing list