Re: [PATCH i386 AVX512] [63.1/n] Add vpshufb, perm autogen (except for v64qi).

2014-10-20 Thread Ilya Tocar
The patch is OK with the above improvement. Will commit version below, if no objections in 24 hours. Sorry, I've missed palignr, which should also have v64qi version, and lost return in expand_vec_perm_palignr case (this caused avx512f-vec-unpack test failures). Patch below fixes

Re: [PATCH i386 AVX512] [63.1/n] Add vpshufb, perm autogen (except for v64qi).

2014-10-20 Thread Uros Bizjak
On Mon, Oct 20, 2014 at 5:19 PM, Ilya Tocar tocarip.in...@gmail.com wrote: The patch is OK with the above improvement. Will commit version below, if no objections in 24 hours. Sorry, I've missed palignr, which should also have v64qi version, and lost return in

Re: [PATCH i386 AVX512] [63.1/n] Add vpshufb, perm autogen (except for v64qi).

2014-10-16 Thread Ilya Tocar
On 10 Oct 18:37, Uros Bizjak wrote: On Fri, Oct 10, 2014 at 5:47 PM, Ilya Tocar tocarip.in...@gmail.com wrote: Please recode that horrible first switch statement to: --cut here-- rtx (*gen) (rtx, rtx, rtx, rtx) = NULL; switch (mode) { case V8HImode: if

Re: [PATCH i386 AVX512] [63.1/n] Add vpshufb, perm autogen (except for v64qi).

2014-10-16 Thread Jakub Jelinek
On Thu, Oct 16, 2014 at 02:23:16PM +0400, Ilya Tocar wrote: On 10 Oct 18:37, Uros Bizjak wrote: On Fri, Oct 10, 2014 at 5:47 PM, Ilya Tocar tocarip.in...@gmail.com wrote: Please recode that horrible first switch statement to: --cut here-- rtx (*gen) (rtx, rtx, rtx, rtx) = NULL;

Re: [PATCH i386 AVX512] [63.1/n] Add vpshufb, perm autogen (except for v64qi).

2014-10-10 Thread Ilya Tocar
On 09 Oct 20:51, Jakub Jelinek wrote: On Thu, Oct 09, 2014 at 04:15:23PM +0400, Ilya Tocar wrote: --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -21358,32 +21358,169 @@ ix86_expand_int_vcond (rtx operands[]) return true; } -ix86_expand_vec_perm_vpermi2 (rtx

Re: [PATCH i386 AVX512] [63.1/n] Add vpshufb, perm autogen (except for v64qi).

2014-10-10 Thread Jakub Jelinek
On Fri, Oct 10, 2014 at 07:47:19PM +0400, Ilya Tocar wrote: Updated patch below. You haven't posted ChangeLog entry this time, so using the last one: * config/i386/i386.c

Re: [PATCH i386 AVX512] [63.1/n] Add vpshufb, perm autogen (except for v64qi).

2014-10-10 Thread Uros Bizjak
On Fri, Oct 10, 2014 at 5:47 PM, Ilya Tocar tocarip.in...@gmail.com wrote: My strong preference would be: enum machine_mode maskmode = mode; rtx (*gen) (rtx, rtx, rtx, rtx); right below the enum machine_mode mode = GET_MODE (d ? d-op0 : op0); line and then inside of the first switch just

Re: [PATCH i386 AVX512] [63.1/n] Add vpshufb, perm autogen (except for v64qi).

2014-10-09 Thread Ilya Tocar
Hi, I think this patch should be split in 2 parts: V64QI related and non-V64QI related. This part contains non-V64QI related changes. Also I've noticed, that not all patterns using VI1_AVX2, actually have AVX512 versions, so fixed bogus patterns. On 06 Oct 16:10, Jakub Jelinek wrote: On Mon,

Re: [PATCH i386 AVX512] [63.1/n] Add vpshufb, perm autogen (except for v64qi).

2014-10-09 Thread Jakub Jelinek
On Thu, Oct 09, 2014 at 04:15:23PM +0400, Ilya Tocar wrote: --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -21358,32 +21358,169 @@ ix86_expand_int_vcond (rtx operands[]) return true; } +/* AVX512F does support 64-byte integer vector operations, + thus the longest