Re: [PATCH i386 AVX512] [17-2/n] Split VI12_AVX512VL mode iterator. Refactor load/store insns.

2014-08-20 Thread Kirill Yukhin
Hello Uroš On 18 Aug 21:05, Uros Bizjak wrote: > BTW: Taking these new findings into account, is it possible to split > V_AVX512VL mode iterator in the same way to avoid compound conditions > in the mode iterator? I've refactored this iterator and fixed trunk. I've also updated all future changes w

Re: [PATCH i386 AVX512] [19/n] Extends AVX-512 broadcasts.

2014-08-20 Thread Kirill Yukhin
Hello Uroš, On 15 Aug 20:29, Uros Bizjak wrote: > Can you avoid insn constraints like: > > > + "TARGET_AVX512DQ && ( == 64 || TARGET_AVX512VL)" > > This should be split to two insn patterns, each with different > baseline insn constraint. I've splitted pattern into two similar w/ different mode

Re: [PATCH i386 AVX512] [20/n] AVX-512 integer shift pattern.

2014-08-20 Thread Kirill Yukhin
Hello, On 15 Aug 20:35, Uros Bizjak wrote: > On Fri, Aug 15, 2014 at 1:56 PM, Kirill Yukhin > wrote: > Again, please split insn pattern to avoid: > > + "TARGET_SSE2 > + && > + && ((mode != V16HImode && mode != V8HImode) > + || T

[PATCH i386 AVX512] [21/n] Extend variable shift patterns.

2014-08-22 Thread Kirill Yukhin
Hello, This patch extends shift patterns with per-element shift value. It was adopted by approach suggested in previous patches. Bootstrapped. New tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/sse.md (define_mode_iterator VI48_AVX2_48_

[PATCH i386 AVX512] [22/n] Extend unaligned loads & stores.

2014-08-22 Thread Kirill Yukhin
Hello, This patch extends unaligned loads and stores patterns. I've refactored original patch (stored on SVN's branch) toward reducing complexity of conditions in define_insn "_storedqu_mask" It seems like such a trick won't work for: _loaddqu Problem is V[32|16]QI modes, which enabled for

Re: [PATCH i386 AVX512] [22/n] Extend unaligned loads & stores.

2014-08-26 Thread Kirill Yukhin
Hello Uroš, On 23 Aug 09:44, Uros Bizjak wrote: > On Fri, Aug 22, 2014 at 1:51 PM, Kirill Yukhin > wrote: > > > This patch extends unaligned loads and stores patterns. > At this stage, I'd still prefer simple constraints (the solution, > proposed above), even f

Re: [PATCH i386 AVX512] [19-1/n] Fix shuf*64x2 assembler operand.

2014-08-27 Thread Kirill Yukhin
Hello Uroš, On 20 Aug 15:16, Uros Bizjak wrote: > OK with this change. I've discovered a problem with assembler operand of vshuf*64x2 insn. Patch below bootstrapped and avx512-regtested. Is it ok for trunk? gcc/ * config/i386/sse.md (define_mode_attr concat_tg_mode): Move up.

[PATCH i386 AVX512] [23/n] Add vcvtps2[u]qq patterns.

2014-08-27 Thread Kirill Yukhin
Hello, This patch introduces support for vcvtps2[u]qq. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/sse.md (define_mode_iterator VI8_256_512): New. (define_insn "avx512dq_cvtps2qq"): Ditto.

[PATCH i386 AVX512] [24/n] Add integer max/min.

2014-08-27 Thread Kirill Yukhin
Hello, This patch introduces integer max/min AVX-512 pattern. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/sse.md (define_mode_iterator VI128_256): New. (define_insn "3"): Ditto. -- Thanks, K diff --gi

[PATCH i386 AVX512] [25/n] Add vps[rl]ldq insn patterns.

2014-08-27 Thread Kirill Yukhin
Hello, Proposed patch adds patterns for vps[rl]ldq insns Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/sse.md (define_mode_iterator VIMAX_AVX2): Add V4TI mode. (define_insn "_ashl3"): Add EVEX version.

[PATCH i386 AVX512] [26/n] Support 512-bit/masked interleave.

2014-08-27 Thread Kirill Yukhin
Hello, Patch in the bottom extends interleaves toward support of AVX-512. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/sse.md (define_insn "avx512bw_interleave_highv64qi"): New. (define_insn "avx2_interl

[PATCH i386 AVX512] [27/n] Add byte/word plus/minus/avg.

2014-08-27 Thread Kirill Yukhin
Hello, Patch extends `plusminus' and `avg' insn patterns toward AVX-512BW,VL support. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ (define_mode_iterator VI12_AVX2): Add V64QI and V32HI modes. (define_expand "_3"): Add

[PATCH i386 AVX512] [28/n] Add si/di masked interleave.

2014-08-28 Thread Kirill Yukhin
Hello, This patch adds support for SI/DO masked interleaves. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/sse.md (define_insn "avx2_interleave_highv4di"): Add masking. (define_insn "vec_interleave_highv2

[PATCH i386 AVX512] [29/n] Add narrowing vpmov.

2014-08-28 Thread Kirill Yukhin
Hello, This patch introduces AVX-512 narrowing moves. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/i386-modes.def: Add V12QI, V14QI, V6HI modes. * config/i386/sse.md (define_mode_iterator VI4_128_8_256):

[PATCH i386 AVX512] [30/n] Add FMA patterns.

2014-08-28 Thread Kirill Yukhin
Hello, This patch adds patterns to support FMA new insns. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/sse.md (define_mode_iterator VF_AVX512VL): New. (define_mode_iterator FMAMODEM): Allow 128/256bit ev

Re: [PATCH i386 AVX512] [29/n] Add narrowing vpmov.

2014-08-28 Thread Kirill Yukhin
Hello Uroš, On 28 Aug 20:34, Uros Bizjak wrote: > On Thu, Aug 28, 2014 at 3:15 PM, Kirill Yukhin > wrote: > > Is it ok for trunk? > There is one inconsistency - existing pattern is named ..._mask_store, > new ones are named ..._store_mask. Is there a reason for this > diffe

Re: [PATCH i386 AVX512] [30/n] Add FMA patterns.

2014-08-29 Thread Kirill Yukhin
Hello Uroš, On 28 Aug 20:44, Uros Bizjak wrote: > On Thu, Aug 28, 2014 at 3:48 PM, Kirill Yukhin > wrote: > > Is it ok for trunk? > I'd suggest to put noavx512 at the beginning, so: > > "noavx512_fma_fmsub_" This is not possible currently since subst attrib

[PATCH i386 AVX512] [31/n] Update float unspec namely storeu,rcp14,rsqrt14,scalef,getexp,fixupimm,rndscale,getmant.

2014-08-29 Thread Kirill Yukhin
Hello, Patch in the bottom updates few UNSPEC insn patterns w/ new mode iterator. Additionally names were slightly changed. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/i386.c (avx512f_getmantv2df_round): Rename

[PATCH i386 AVX512] [32/n] Add reduce,range,fpclass.

2014-08-29 Thread Kirill Yukhin
Hello, Patch in the bottom adds support for reduce,range,fpclass. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/i386.c (ix86_expand_args_builtin): Handle avx512dq_rangepv8df_mask_round, avx512dq_rangepv16

[PATCH i386 AVX512] [33/n] Add patterns for compress, expand.

2014-08-29 Thread Kirill Yukhin
Hello, Patch in the bottom extends support of compress and expand insns. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/sse.md (define_mode_iterator VI48F): New. (define_insn "avx512f_compress_mask"): Dele

Re: [PATCH i386 4/8] [AVX512] [4/n] Add substed patterns: `sd' subst.

2013-11-05 Thread Kirill Yukhin
Hello, This small patch introduces `sd' subst. `sd' (Source-Destination) subst is almost the same, as the usual mask-subst, but it's only used for zero-masking. The reason is that some patterns already have an operand with constraint "0" and we can't add a new operand with the same constraint. So,

Re: [PATCH i386 4/8] [AVX512] [6/8] Add substed patterns: `sae' subst.

2013-11-05 Thread Kirill Yukhin
Hello, This patch introduces `sae-only' (EVEX feature to Supress Arithmetic Exceptions) subst. Bootstrapped. Is it ok for trunk? -- Thanks, K --- gcc/config/i386/sse.md | 198 +++ gcc/config/i386/subst.md | 31 2 files changed, 130 insert

Re: [PATCH i386 4/8] [AVX512] [7/8] Add substed patterns: `round for expand' subst.

2013-11-05 Thread Kirill Yukhin
Hello, This patch introduces dedicated subst to add rounding to structureless expands. Bootstrapped. Is it ok for trunk? -- Thanks, K --- gcc/config/i386/sse.md | 24 gcc/config/i386/subst.md | 18 ++ 2 files changed, 30 insertions(+), 12 deletions(-)

Re: [PATCH i386 4/8] [AVX512] [8/8] Add substed patterns: `sae-only for expand' subst.

2013-11-05 Thread Kirill Yukhin
Hello, This patch introduces sae-only feature for structureless expands. Bootstrapped. Is it ok for trunk? -- Thanks, K --- gcc/config/i386/sse.md | 18 ++ gcc/config/i386/subst.md | 20 2 files changed, 30 insertions(+), 8 deletions(-) diff --git a/gcc/

[ia64] [PR target/57491] internal compiler error: in ia64_split_tmode -O2, quadmath

2013-11-07 Thread Kirill Yukhin
Hello, I've looked into RTL after register allocation. Insn which lead to assert is: (insn 77 180 79 4 (set (reg/v:TF 44 loc12 [orig:359 T8 ] [359]) (mem:TF (post_modify:DI (reg/f:DI 14 r14 [435]) (plus:DI (reg/f:DI 14 r14 [435]) (reg:DI 45 loc13 [orig:34

Re: [PATCH i386 4/8] [AVX512] [1/n] Add substed patterns.

2013-11-11 Thread Kirill Yukhin
Hello, On 05 Nov 16:05, Kirill Yukhin wrote: > Is it ok with that change? Ping? -- Thanks, K

Re: [PATCH, ia64] [PR target/57491] internal compiler error: in ia64_split_tmode -O2, quadmath

2013-11-12 Thread Kirill Yukhin
Hello, On 07 Nov 15:42, Kirill Yukhin wrote: > Could you pls take a look? Ping? -- Thanks, K

[PATCH i386 5/8] [AVX-512] Extend vectorizer hooks.

2013-11-12 Thread Kirill Yukhin
Anna Tikhonova Ilya Tocar Andrey Turetskiy Ilya Verbin Kirill Yukhin Michael Zolotukhin * config/i386/i386.c (MAX_CLASSES): Increase number of classes. (classify_argument): Extend for 512 bit vectors

Re: [PATCH i386 4/8] [AVX512] [2/n] Add substed patterns: mask scalar subst.

2013-11-13 Thread Kirill Yukhin
Hello, > Is it ok to commit to main trunk? I've moved to this patch few hunks from [4/8] [1/n], which related to scalar insns. Updated patch in the bottom. Testing pass. Could you pls comment on it? I cannot imagine anything except double nested vec_merges. We may introduce (non-substed) dedica

Re: [ia64] [PR target/57491] internal compiler error: in ia64_split_tmode -O2, quadmath

2013-11-15 Thread Kirill Yukhin
Hello, > I suspect that the problem reported by Jeff is related to the usage of "dead" > in the REG subcase of the MEM case of ia64_split_tmode. There is a dangling > comment to that effect in ia64_split_tmode_move just above the block. We're failing here. Trying to split SET with these operand

Re: [ia64] [PR target/57491] internal compiler error: in ia64_split_tmode -O2, quadmath

2013-11-15 Thread Kirill Yukhin
Hello, On 15 Nov 12:34, Eric Botcazou wrote: > > (insn 199 0 0 (set (reg:DI 14 r14) > > (mem:DI (post_inc:DI (reg/f:DI 15 r15 [447])) [3 > > *_61[_12]{lb: 1 sz: 64}.text+0 S8 A128])) -1 (nil)) > > (insn 200 199 0 (set (reg:DI 15 r15) > > (mem:DI (post_dec:DI (reg/f

Re: [ia64] [PR target/57491] internal compiler error: in ia64_split_tmode -O2, quadmath

2013-11-15 Thread Kirill Yukhin
On 15 Nov 16:55, Kirill Yukhin wrote: > Bootstrap (with Ada) is still in progress. Passed for me (seems here is no Jeff's patch)

Re: [ia64] [PR target/57491] internal compiler error: in ia64_split_tmode -O2, quadmath

2013-11-15 Thread Kirill Yukhin
Hello, On 15 Nov 17:11, Kirill Yukhin wrote: > On 15 Nov 16:55, Kirill Yukhin wrote: > > Bootstrap (with Ada) is still in progress. > > Passed for me (seems here is no Jeff's patch) On recent trunk with patch applied, I've got: /export/users/kyukhin/gcc/git/gcc/gcc/ada

Re: [PATCH i386 4/8] [AVX512] [2/n] Add substed patterns: mask scalar subst.

2013-11-15 Thread Kirill Yukhin
Helllo, On 13 Nov 16:18, Kirill Yukhin wrote: > Testing pass. Ping? -- Thanks, K

Re: [PATCH i386 4/8] [AVX512] [4/n] Add substed patterns: `sd' subst.

2013-11-15 Thread Kirill Yukhin
Hello, On 06 Nov 10:15, Kirill Yukhin wrote: > Bootstrap pass. > > Is it ok for trunk? Ping. -- Thanks, K

Re: [PATCH i386 4/8] [AVX512] [5/8] Add substed patterns: rounding subst.

2013-11-15 Thread Kirill Yukhin
Hello, On 06 Nov 10:18, Kirill Yukhin wrote: > Corrsponding subst implementation is in the bottom. > > Bootstrapped. > > Is it ok for trunk? Ping. -- Thanks, K

Re: [PATCH i386 4/8] [AVX512] [6/8] Add substed patterns: `sae' subst.

2013-11-15 Thread Kirill Yukhin
Hello, On 06 Nov 10:21, Kirill Yukhin wrote: > Bootstrapped. > > Is it ok for trunk? Ping. -- Thanks, K

Re: [PATCH i386 4/8] [AVX512] [7/8] Add substed patterns: `round for expand' subst.

2013-11-15 Thread Kirill Yukhin
Hello, On 06 Nov 10:24, Kirill Yukhin wrote: > Bootstrapped. > > Is it ok for trunk? Ping. -- Thanks, K

Re: [PATCH i386 4/8] [AVX512] [8/8] Add substed patterns: `sae-only for expand' subst.

2013-11-15 Thread Kirill Yukhin
Hello, On 06 Nov 10:27, Kirill Yukhin wrote: > Hello, > This patch introduces sae-only feature for > structureless expands. > > Bootstrapped. > > Is it ok for trunk? Ping. -- Thanks, K

Re: [PATCH i386 5/8] [AVX-512] Extend vectorizer hooks.

2013-11-15 Thread Kirill Yukhin
Hello, On 12 Nov 15:36, Kirill Yukhin wrote: > Hello, > Patch in the bottom extends some hooks toward AVX-512 support. > This patch decrease icount for Spec2006 FP suite (ref set): > > Optset was: -static -m64 -fstrict-aliasing -fno-prefetch-loop-arrays > -Ofast -funroll-loops

Re: [ia64] [PR target/57491] internal compiler error: in ia64_split_tmode -O2, quadmath

2013-11-17 Thread Kirill Yukhin
On 16 Nov 10:03, Eric Botcazou wrote: > > As far as I understand semantics of this insn: > > (insn 200 199 0 (set (reg:DI 15 r15) > > (mem:DI (post_dec:DI (reg/f:DI 15 r15 [447])) [3 > > *_61[_12]{lb: 1 sz: 64}.text+8 S8 A64])) -1 (nil)) > > What is done is (in that sequence). > > 1

Re: [PATCH i386 4/8] [AVX512] [2/n] Add substed patterns: mask scalar subst.

2013-11-19 Thread Kirill Yukhin
Hello, On 15 Nov 20:03, Kirill Yukhin wrote: > Ping? Ping? -- Thanks, K

Re: [PATCH i386 4/8] [AVX512] [4/n] Add substed patterns: `sd' subst.

2013-11-19 Thread Kirill Yukhin
Hello, On 15 Nov 20:05, Kirill Yukhin wrote: > > Is it ok for trunk? > Ping. Ping. -- Thanks, K

Re: [PATCH i386 4/8] [AVX512] [5/8] Add substed patterns: rounding subst.

2013-11-19 Thread Kirill Yukhin
Hello, On 15 Nov 20:06, Kirill Yukhin wrote: > Ping. Ping. -- Thanks, K

Re: [PATCH i386 4/8] [AVX512] [4/n] Add substed patterns: `sd' subst.

2013-11-19 Thread Kirill Yukhin
Adding back Richard. On 19 Nov 12:07, Kirill Yukhin wrote: > Hello, > On 15 Nov 20:05, Kirill Yukhin wrote: > > > Is it ok for trunk? > > Ping. > Ping. > > -- > Thanks, K

Re: [PATCH i386 4/8] [AVX512] [7/8] Add substed patterns: `round for expand' subst.

2013-11-19 Thread Kirill Yukhin
Hello, On 15 Nov 20:08, Kirill Yukhin wrote: > > Is it ok for trunk? > Ping. Ping. -- Thanks, K

Re: [PATCH i386 4/8] [AVX512] [6/8] Add substed patterns: `sae' subst.

2013-11-19 Thread Kirill Yukhin
Hello, On 15 Nov 20:07, Kirill Yukhin wrote: > > Is it ok for trunk? > Ping. Ping. -- Thanks, K

Re: [PATCH i386 4/8] [AVX512] [8/8] Add substed patterns: `sae-only for expand' subst.

2013-11-19 Thread Kirill Yukhin
Hello, On 15 Nov 20:09, Kirill Yukhin wrote: > > Is it ok for trunk? > Ping. Ping. -- Thanks, K

Re: [PATCH i386 5/8] [AVX-512] Extend vectorizer hooks.

2013-11-19 Thread Kirill Yukhin
Hello, On 15 Nov 20:10, Kirill Yukhin wrote: > > Is it ok to commit to main trunk? > Ping. Ping. -- Thanks, K

[PATCH i386 8/8] [AVX-512] Add SHA support.

2013-11-19 Thread Kirill Yukhin
tability regressions without -mavx512f option. ChangeLog entry: 2013-11-18 Alexander Ivchenko Maxim Kuznetsov Sergey Lega Anna Tikhonova Ilya Tocar Andrey Turetskiy Ilya Verbin Kirill Yukhin

Re: [PATCH i386 8/8] [AVX-512] Add SHA support.

2013-11-20 Thread Kirill Yukhin
On 19 Nov 15:36, Uros Bizjak wrote: > Please also add new command options to g++.dg/other/sse-2.C and > g++.dg/other/sse-3.C > > OK with the small nit below and with above testsute addition. > > No need to document negative option here. Thanks! I'll fix your inputs and check in after rest is rev

[PATCH, ia64] [PR target/52731] internal compiler error: in ia64_st_address_bypass_p, at config/ia64/ia64.c:9357

2013-11-20 Thread Kirill Yukhin
roduce explicit predicated versions of the insns and use their codes in the routine. Test passes w/ patch applied and fails when not. Bootstrap pass (for all languages). ChangeLog entry: 2013-11-20 Kirill Yukhin * config/ia64/ia64.md (prologue_allocate_stack): Block auto- generatio

Re: [RFC PATCH] Enable V32HI/V64QI const permutations

2014-10-06 Thread Kirill Yukhin
Hello Jakub, On 03 Oct 16:39, Jakub Jelinek wrote: > --- gcc/config/i386/sse.md.jj 2014-09-26 10:33:18.0 +0200 > +++ gcc/config/i386/sse.md2014-10-03 15:03:44.170446452 +0200 > @@ -10386,7 +10386,8 @@ (define_mode_iterator VEC_PERM_CONST > (V8SI "TARGET_AVX") (V4DI "TARGET_AVX") >

[PATCH i386 AVX512] [63/n] Add vpshufb, perm autogen.

2014-10-06 Thread Kirill Yukhin
Hello, This patch extends permutations for AVX-512*. Comments are welcome! Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/i386.c (ix86_expand_vec_perm_vpermi2): Handle V64QImode, V8HImode, V16HImode, V32HI

Re: [PATCH 5/n] OpenMP 4.0 offloading infrastructure: libgomp

2014-10-08 Thread Kirill Yukhin
Hello Jakub, On 07 Oct 21:40, Jakub Jelinek wrote: > On Tue, Oct 07, 2014 at 10:12:22PM +0400, Ilya Verbin wrote: > OT, from the various IRC discussions with Kirill on IRC, it seems you or > your colleges typed pretty much all target related tests from OpenMP 4.0.1 > examples, can those be also sub

Re: [patch] Excessive alignment in ix86_data_alignment

2014-10-09 Thread Kirill Yukhin
On 08 Oct 23:02, Petr Murzin wrote: > Hi, > I have measured performance impact on Haswell platform according to this > input: > https://gcc.gnu.org/ml/gcc-patches/2014-06/msg00978.html Same in plain text: For `-O2': TestPrevious Current Ratio(%) 400.perlbench 46.2000 46.2000 +0% 401.b

[PATCH i386 AVX512] [64/n] Add rest of VI1-AVX2: vpack[us]wb.

2014-10-09 Thread Kirill Yukhin
Hello, This patch adds rest of vpack instruction patterns. Bootstrapped. gcc.target/i386.exp tests on top of patch-set show no regressions. under simulator. Is it ok for trunk? gcc/ * config/i386/sse.md (define_insn "_packsswb"): Add masking. (define_insn "_packuswb"): Di

[PATCH i386 AVX512] [65/n] Add rest of VI1-AVX2: mul insn pattern.

2014-10-09 Thread Kirill Yukhin
Hello, This tiny patch extend mul insn pattern to support masking. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/sse.md (define_expand "mul3"): Add masking. -- Thanks, K diff --git a/gcc/config/i386/sse.md b/gc

[PATCH i386 AVX512] [66/n] Extend vpalignr insn patterns.

2014-10-09 Thread Kirill Yukhin
Hello, This patch extends vpalignr insn patterns. It also introduces dedicated `masked' version of pattern w/o substing. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/sse.md (define_mode_iterator SSESCALARMODE):

[PATCH i386 AVX512] [67/n] Update constraints in vec_dup insn pattern.

2014-10-09 Thread Kirill Yukhin
Hello, This tiny patch updates constraints in vec_dup insn pattern. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/sse.md (define_insn "vec_dup"): Update constraints. -- Thanks, K diff --git a/gcc/config/i386/ss

[PATCH i386 AVX512] [68/n] Add vpmullw, vpacksdw, pmaddwd insn patterns.

2014-10-09 Thread Kirill Yukhin
Hello, This patch extends vpmullw, vpacksdw and pmaddwd insn patterns. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/sse.md (define_c_enum "unspec"): Add UNSPEC_PMADDWD512. (define_mode_iterator VI2_AVX2)

Re: [PATCH i386 AVX512] [68/n] Add vpmullw, vpacksdw, pmaddwd insn patterns.

2014-10-09 Thread Kirill Yukhin
On 09 Oct 15:07, Kirill Yukhin wrote: > +(define_insn "*mul3" > + [(set (match_operand:VI2_AVX2 0 "register_operand" "=x,v") > + (mult:VI2_AVX2 (match_operand:VI2_AVX2 1 "nonimmediate_operand" "%0,v") > +

[PATCH i386 AVX512] [69/n] Add vpmulhrsw insn support.

2014-10-09 Thread Kirill Yukhin
Hello, This patch adds support for vpmulhrsw insn. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/sse.md (define_insn "avx512bw_umulhrswv32hi3"): New. (define_expand "_pmulhrsw3_mask"): Ditto. -- Thanks,

[PATCH i386 AVX512] [70/n]

2014-10-09 Thread Kirill Yukhin
Hello, This patch further extends maxmin patterns. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/sse.md (define_insn "*3_finite"): Fix pattern conditions order. (define_insn "*sse4_1_3"): Add mask

[PATCH i386 AVX512] [71/n] [Obvious?] Remove redudant iterator attribute.

2014-10-09 Thread Kirill Yukhin
Hello, This obvious patch removes redundant iterator attribute Bootstrapped. Is it ok for trunk? gcc/ * config/i386/sse.md (define_mode_attr avx2_avx512f): Remove. -- Thanks, K diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index a833cd9..cf415c3 100644 --- a/gcc/config/i3

[PATCH i386 AVX512] [72/n] Extend VI itterator.

2014-10-09 Thread Kirill Yukhin
Hello, This patch extends VI mode iterator. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/i386.c (ix86_expand_vector_logical_operator): Handle V16SF and V8DF modes. * config/i386/sse.md (define_mo

[PATCH i386 AVX512] [73/n] Extend reduc min/max autogen.

2014-10-09 Thread Kirill Yukhin
Hello, This patch extends pattern for reducation maxmin autogen. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/sse.md (define_mode_iterator REDUC_SMINMAX_MODE): Add V64QI and V32HI modes. -- Thanks, K diff --gi

[PATCH i386 AVX512] [74/n] Add byte/word max/mix reduction.

2014-10-09 Thread Kirill Yukhin
Hello, Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/i386.c (emit_reduc_half): Handle V64QI and V32HI mode. * config/i386/sse.md (define_mode_iterator VI_AVX512BW): New. (define_expand "re

[PATCH i386 AVX512] [75/n] Update vec_init.

2014-10-09 Thread Kirill Yukhin
Hello, This patch extends vec_init-related routines/patterns. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/i386.c (ix86_expand_vector_init_duplicate): Handle V64QI and V32HI modes, update V8HI, V16QI, V3

[PATCH i386 AVX512] [76/n] Extend int 2 float conversions.

2014-10-09 Thread Kirill Yukhin
Hello, This patch extends autogeneration of SI-2-SF conversions. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/i386.c (ix86_expand_vector_convert_uns_vsivsf): Handle V16SI mode and TARGET_AVX512VL. -- Th

[PATCH i386 AVX512] [77/n] Use blend for cond-set V32HI and V64QI.

2014-10-09 Thread Kirill Yukhin
Hello, This patch extends movcc/vcond autogen. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/i386.c (ix86_expand_sse_movcc): Handle V64QI and V32HI mode. (ix86_expand_int_vcond): Ditto. -- Thanks, K dif

Re: [i386] Replace builtins with vector extensions

2014-10-09 Thread Kirill Yukhin
Hello folks, On 09 Oct 14:57, Uros Bizjak wrote: > On Thu, Oct 9, 2014 at 2:28 PM, Marc Glisse wrote: > > On Thu, 9 Oct 2014, Uros Bizjak wrote: > OK, let's go in the proposed way, more detailed: > > - we begin with +-*/ of float/double vectors. IMO, this would result > in a relatively small and

Re: [PATCH i386 AVX512] [56/n] Add plus/minus/abs/neg/andnot insn patterns.

2014-10-14 Thread Kirill Yukhin
Hello Uroš, It seems like I missed to post uppdated patch. On 25 Sep 20:11, Uros Bizjak wrote: > I'd rather go with the second approach, it is less confusing from the > maintainer POV. All other patterns with masking use some consistent > template, so I'd suggest using the same approach for everyth

Re: [PATCH i386 AVX512] [76/n] Extend int 2 float conversions.

2014-10-15 Thread Kirill Yukhin
Hello Uroš, On 09 Oct 18:05, Uros Bizjak wrote: > On Thu, Oct 9, 2014 at 5:01 PM, Kirill Yukhin wrote: > > diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c > > index 7c34431..8a7853e 100644 > > --- a/gcc/config/i386/i386.c > > +++ b/gcc/config/i386/i386.

[PATCH i386 AVX512] [78/n] Use blend for inserting.

2014-10-15 Thread Kirill Yukhin
Hello, This patch extends insertion hook. AVX-512* tests on top of patch-set all pass under simulator. gcc/ * config/i386/i386.c (ix86_expand_vector_set): Handle V8DF, V8DI, V16SF, V16SI, V32HI, V64QI modes. -- Thanks, K diff --git a/gcc/config/i386/i386.c b/gcc/config/

[PATCH i386 AVX512] [79/n] Extend expand_mul_widen_hilo.

2014-10-15 Thread Kirill Yukhin
Hello, This patch extends expand_mul_widen_hilo to 512-bit QI,SI,HI modes. Bootstrapped and regtested gcc/ * config/i386/i386.c (ix86_expand_mul_widen_hilo): Handle V32HI, V16SI, V64QI modes. Is it ok for trunk? -- Thanks, K diff --git a/gcc/config/i386/i386.c b/gcc/config/i386

[PATCH i386 AVX512] [80/n] Extend expand_sse2_mulvxdi3.

2014-10-16 Thread Kirill Yukhin
Hello, This patch extends expand_sse2_mulvxdi3. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/i386.c (ix86_expand_sse2_mulvxdi3): Extend expand_sse2_mulvxdi3. -- Thanks, K diff --git a/gcc/config/i386/i386.c b/

Re: [PATCH i386 AVX512] [75/n] Update vec_init.

2014-10-17 Thread Kirill Yukhin
Hello Jakub, On 15 Oct 18:23, Jakub Jelinek wrote: > On Thu, Oct 09, 2014 at 04:13:25PM +0400, Kirill Yukhin wrote: > > --- a/gcc/config/i386/i386.c > > +++ b/gcc/config/i386/i386.c > > @@ -39821,6 +39823,9 @@ ix86_expand_vector_init_duplicate (bool mmx_ok, >

Re: [PATCH i386 AVX512] [80/n] Extend expand_sse2_mulvxdi3.

2014-10-17 Thread Kirill Yukhin
Hello Uroš, On 16 Oct 14:29, Uros Bizjak wrote: > > + if (mode == V4DImode) > > + emit_insn (gen_avx512dq_mulv4di3 (op0, op1, op2)); > > + else if (mode == V2DImode) > > + emit_insn (gen_avx512dq_mulv4di3 (op0, op1, op2)); > > Should this be v2di ? Right, copy-a

Re: [PATCH i386 AVX512 Boostrap] [80/n] Extend expand_sse2_mulvxdi3.

2014-10-17 Thread Kirill Yukhin
Hello, This is fix for bootstrap failure. Is it OK? gcc/ * config/i386/i386.c (ix86_expand_sse2_mulvxdi3): Refactor conditions to fix bootstrap. -- Thanks, K diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 7040200..3ddaf3d 100644 --- a/gcc/config/i386/i386.c +

Re: [PATCH i386 AVX512] [56/n] Add plus/minus/abs/neg/andnot insn patterns.

2014-10-20 Thread Kirill Yukhin
Hello, On 20 Oct 14:36, Jakub Jelinek wrote: > On Tue, Oct 14, 2014 at 11:18:28AM +0400, Kirill Yukhin wrote: > > * config/i386/sse.md (define_mode_iterator VI_AVX2): Extend > > to support AVX-512BW. > > (define_mode_iterator VI124_AVX2_48_AVX512F): Remove. >

Re: [PATCH i386 AVX512] [81/n] Add new built-ins.

2014-10-21 Thread Kirill Yukhin
Hello, On 21 Oct 11:17, Richard Biener wrote: > On Mon, Oct 20, 2014 at 3:50 PM, Jakub Jelinek wrote: > > On Mon, Oct 20, 2014 at 05:41:25PM +0400, Kirill Yukhin wrote: > >> Hello, > >> This patch adds (almost) all built-ins needed by > >> AVX-512VL,BW,DQ int

Re: [PATCH i386 AVX512] [81/n] Add new built-ins.

2014-10-21 Thread Kirill Yukhin
On 21 Oct 16:20, Jakub Jelinek wrote: > On Tue, Oct 21, 2014 at 06:08:15PM +0400, Kirill Yukhin wrote: > > --- a/gcc/tree.h > > +++ b/gcc/tree.h > > @@ -2334,6 +2334,10 @@ extern void decl_value_expr_insert (tree, tree); > > #define DECL_COMDAT(NODE) \ > &

Re: [PATCH i386 AVX512] [81/n] Add new built-ins.

2014-10-21 Thread Kirill Yukhin
On 21 Oct 18:47, Kirill Yukhin wrote: > On 21 Oct 16:20, Jakub Jelinek wrote: > > On Tue, Oct 21, 2014 at 06:08:15PM +0400, Kirill Yukhin wrote: > > > --- a/gcc/tree.h > > > +++ b/gcc/tree.h > > > @@ -2334,6 +2334,10 @@ extern void decl_value_expr_insert (tre

Re: [PATCH AVX512] [81.1/n] Extend `function_code' field in `tree_var_decl' structure.

2014-10-22 Thread Kirill Yukhin
Hello, Patch was separated into two parts: tree-core.h changes and target changes. On 21 Oct 16:20, Jakub Jelinek wrote: > On Tue, Oct 21, 2014 at 06:08:15PM +0400, Kirill Yukhin wrote: > > --- a/gcc/tree.h > > +++ b/gcc/tree.h > > @@ -2334,6 +2334,10 @@ extern void decl_va

Re: [PATCH i386 AVX512] [81/n] Add new built-ins.

2014-10-22 Thread Kirill Yukhin
Hello, On 22 Oct 10:09, Richard Biener wrote: > On Tue, Oct 21, 2014 at 5:08 PM, Kirill Yukhin > wrote: > > On 21 Oct 18:47, Kirill Yukhin wrote: > >> On 21 Oct 16:20, Jakub Jelinek wrote: > >> > On Tue, Oct 21, 2014 at 06:08:15PM +0400, Kirill Yukhin

[PATCH i386 AVX512] [82/n] Add gather built-ins.

2014-10-22 Thread Kirill Yukhin
Hello, This patch introduces built-ins for gather insns. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_GATHER3ALTSIV4DF, IX86_BUILTIN_GATHER3ALTDIV8SF, IX86_BUILTIN_GATHER

[PATCH i386 AVX512] [83/n] Add scatter built-ins.

2014-10-22 Thread Kirill Yukhin
Hello, This patch adds built-ins for scatter insns. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/i386.c (ix86_init_mmx_sse_builtins): Define __builtin_ia32_gather3siv2df, __builtin_ia32_gather3siv4df,

[PATCH i386 AVX512] [84/n] Add missing immediate checks.

2014-10-22 Thread Kirill Yukhin
Hello, This tiny patch adds couple of missing immediate checks. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/i386.c (ix86_expand_args_builtin): Handle avx_vpermilv4df_mask, avx_shufpd256_mask, avx_vpermilv2df_ma

[PATCH i386 AVX512] [86/n] Add tests for options.

2014-10-22 Thread Kirill Yukhin
Hello, This patch extends sse-* and avx-* tests which checks immediates/options. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * testsuite/g++.dg/other/i386-2.C: Add new options. * testsuite/g++.dg/other/i386-3.C: Ditto.

[PATCH i386 AVX512] [85/n] Add intrinsics headers.

2014-10-22 Thread Kirill Yukhin
Hello, This patch introduces necessary AVX-512* intrinsics headers. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/avx512bwintrin.h: New. * config/i386/avx512dqintrin.h: Ditto. * config/i386/avx512vlbwintr

[PATCH i386 AVX512] [87/n] Add rest of the tests.

2014-10-22 Thread Kirill Yukhin
Hello, This patch adds tests for new intrinsics. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * testsuite/gcc.target/i386/avx512bw-check.h: New. * testsuite/gcc.target/i386/avx512bw-kunpckdq-1.c: Ditto. * testsuite/gc

[PATCH i386 AVX512] [88/n] Add missed avx512bw/avx512vl cmp intrinsics.

2014-10-22 Thread Kirill Yukhin
Hello, This patch introduces rest of intrinsics (compare). Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/avx512bwintrin.h: Add new intrinsics. * config/i386/avx512vlbwintrin.h: Ditto. * config/i386/avx512

[PATCH i386 AVX512] [89/n] Improve mask move insn generation.

2014-10-22 Thread Kirill Yukhin
Hello, This patch fixes kmov* insn generation and adds memory alternative to `movqi_internal' pattern Reg-test included. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator. Is it ok for trunk? gcc/ * config/i386/i386.md (movhi_internal): Always detect mskmov.

Re: [PATCH i386 AVX512] [87/n] Add rest of the tests.

2014-10-22 Thread Kirill Yukhin
On 22 Oct 16:48, Kirill Yukhin wrote: > Hello, > This patch adds tests for new intrinsics. > > Bootstrapped. > AVX-512* tests on top of patch-set all pass > under simulator. > > Is it ok for trunk? > > gcc/ > * testsuite/gcc.target/i386/avx512bw-check.h:

Re: [PATCH i386 AVX512] [86/n] Add tests for options.

2014-10-22 Thread Kirill Yukhin
On 22 Oct 16:37, Kirill Yukhin wrote: > gcc/ > * testsuite/g++.dg/other/i386-2.C: Add new options. Please, disregard "testsuite/gcc.target" in overall ChangeLog entry. -- Thanks, K

Re: [PATCH i386 AVX512] [88/n] Add missed avx512bw/avx512vl cmp intrinsics.

2014-10-22 Thread Kirill Yukhin
On 22 Oct 16:51, Kirill Yukhin wrote: > gcc/ > * testsuite/gcc.target/i386/avx512bw-vpcmpequb-1.c: New. Please, disregard "testsuite/" in overall ChangeLog entry. -- Thanks, K

Re: [patch] fix tests for AVX512

2014-06-09 Thread Kirill Yukhin
Hello Uroš, On 08 Jun 11:26, Uros Bizjak wrote: > On Tue, May 27, 2014 at 12:28 PM, Petr Murzin wrote: > > Hi, > > I've fixed tests for AVX512, so they could be compiled with -Werror > > -Wall. Please have a look. > From a quick look, this looks OK. Thanks, checked into trunk. Could we apply that

[GOMP4, RFC] OpenMP4 offload support for Intel PHI targets.

2014-07-02 Thread Kirill Yukhin
Hello, I would like to announce creation of a dedicated branch gomp4-offload to speed up review of FE-independent offload-related features. This branch includes: - set of necessary patches from gomp4 branch - set of patches which we were developed internally and were unable to share

[GOMP4, RFC] Support of offloading for Intel MIC targets.

2014-07-02 Thread Kirill Yukhin
Hello, I would like to announce creation of a dedicated branch gomp4-offload to speed up review of FE-independent offload-related features. This branch includes: - set of necessary patches from gomp4 branch - set of patches which we were developed internally and were unable to share

<    1   2   3   4   5   6   7   8   9   >