Re: [PATCH, PR65915] Fix float conversion split.

2015-05-05 Thread Ilya Tocar
> >> +++ b/gcc/testsuite/gcc.target/i386/pr65915.c > >> @@ -0,0 +1,6 @@ > >> +/* { dg-do run } */ > >> +/* { dg-options "-O2 -mavx512f -fpic -mcmodel=medium" } */ > >> +/* { dg-require-effective-target avx512f } */ > >> +/* { dg-require-effective-target lp64 } */ > >> + > >> +#include "avx512f-vrnd

Re: [PATCH, PR65915] Fix float conversion split.

2015-04-30 Thread Ilya Tocar
> Hi, > > Looks like I missed some splits, which caused PR65915. > Patch below fixes it. > Ok for trunk? > > 2015-04-28 Ilya Tocar > > * config/i386/i386.md (define_split): Check for xmm16+, > when splitting scalar float conversion. > >

[PATCH, PR65915] Fix float conversion split.

2015-04-28 Thread Ilya Tocar
> > I've renamed EXT_SSE_REG_P into EXT_REX_SSE_REG_P for consistency. > > Ok for stage1? > Patch is OK for stage1. > > -- > Thanks, K > > > > On 19 Mar 12:24, Ilya Tocar wrote: > > > Hi, > > > > > > There were some di

Re: [PATCH] Make wider use of "v" constraint in i386.md

2015-04-27 Thread Ilya Tocar
On 17 Apr 10:09, Uros Bizjak wrote: > On Thu, Mar 19, 2015 at 10:24 AM, Ilya Tocar wrote: > > Hi, > > > > There were some discussion about "x" constraints being too conservative > > for some patterns in i386.md. > > Patch below fixes it. This is

Re: [PATCH, i386] PR63211 broken type-punning in avx* tests.

2015-04-03 Thread Ilya Tocar
On 03 Apr 13:39, Uros Bizjak wrote: > On Fri, Apr 3, 2015 at 1:02 PM, Ilya Tocar wrote: > > > I've looked into avx* tests and many of them (even those that don't fail > > in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63211) use invalid type > > punning. Proper

[PATCH, i386] PR63211 broken type-punning in avx* tests.

2015-04-03 Thread Ilya Tocar
by running sed -i "s/-O2/-O2 -fno-strict-aliasing/g" ../gcc/testsuite/gcc.target/i386/avx*-2.c Ok for stage1? Changelog below: testsuite/ 2015-04-03 Ilya Tocar PR target/63211 * gcc.target/i386/avx-cmpsd-2.c: Update test. * gcc.target/i386/avx-cm

Re: [PATCH] Warn about unclosed pragma omp declare target.

2015-03-26 Thread Ilya Tocar
On 02 Feb 13:05, Jakub Jelinek wrote: > On Tue, Jul 29, 2014 at 06:45:01PM +0400, Ilya Tocar wrote: > > Hi, > > > > As discussed here in https://gcc.gnu.org/ml/gcc/2014-01/msg00189.html > > Gcc should complain about pragma omp declare target without > > correspond

[PATCH] Make wider use of "v" constraint in i386.md

2015-03-19 Thread Ilya Tocar
Hi, There were some discussion about "x" constraints being too conservative for some patterns in i386.md. Patch below fixes it. This is probably stage1 material. ChangeLog: gcc/ 2015-03-19 Ilya Tocar * config/i386/i386.h (EXT_SSE_REG_P): New. * config/i3

[Patch] Fix android build.

2015-02-18 Thread Ilya Tocar
Hi, On android dlerror returns const char*. Ok for trunk? libgomp/ * target.c (gomp_load_plugin_for_device): Fix type of dlerror return value. (DLSYM_OPT): Ditto. --- libgomp/target.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libgomp/target.c

Re: [PATCH] PR64387

2015-02-04 Thread Ilya Tocar
I think that fix for avx2 part should be backported to 4.8/4.9 What do you think? On 14 Jan 14:18, Ilya Tocar wrote: > Hi, > > This patch fixes https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64387 > Which was caused by different in predicates between vec_unpacks_hi > and vec_extra

Re: [PATCH][x86] Update s{r,l}li intrinsics.

2015-01-28 Thread Ilya Tocar
I'd like to backport this to 4.8/4.9 Is this ok? On 15 Jan 17:17, Ilya Tocar wrote: > Hi, > Looks like new ISA doc [1] renamed srli,slli intrinsics to bsrli,bslli. > This patch adds b* versions, while keeping old srli for backward > compatibility. > OK for trunk? > > 1:

[PATCH][x86] Update s{r,l}li intrinsics.

2015-01-15 Thread Ilya Tocar
Hi, Looks like new ISA doc [1] renamed srli,slli intrinsics to bsrli,bslli. This patch adds b* versions, while keeping old srli for backward compatibility. OK for trunk? 1:https://software.intel.com/sites/default/files/managed/0d/53/319433-022.pdf ChangeLog: gcc/ * config/i386/avx2intrin.

[PATCH] PR64386

2015-01-14 Thread Ilya Tocar
Hi, This patch fixes https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64386 Ok for trunk? ChangeLog: gcc/ PR target/64386 * config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode, V32HImode. testsuite/ PR target/64386 * gcc.target/i386/pr64386.c: New tes

Re: [PATCH] PR64387

2015-01-14 Thread Ilya Tocar
On 14 Jan 12:36, Uros Bizjak wrote: > On Wed, Jan 14, 2015 at 12:18 PM, Ilya Tocar wrote: > > Hi, > > > > This patch fixes https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64387 > > Which was caused by different in predicates between vec_unpacks_hi > > and vec_extract

[PATCH] PR64393

2015-01-14 Thread Ilya Tocar
Hi, This patch fixes https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64393 It makes -mavx512vbmi enable avx512bw, as it requires 64-bit masks. OK for trunk? ChangeLog: gcc/ PR target/64393 * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET): Enable AVX512BW.

[PATCH] PR64387

2015-01-14 Thread Ilya Tocar
Hi, This patch fixes https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64387 Which was caused by different in predicates between vec_unpacks_hi and vec_extract_hi. Ok for trunk? ChangeLog: gcc/ PR target/64387 * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate. (vec_unpa

[PATCH x86] Add march/mtune=knl

2014-12-10 Thread Ilya Tocar
Hi, Patch bellow adds march/mtune/attribute=knl. For now this is just silvermont tuning and avx/avx2/avx512 support. Ok for trunk? gcc/ * config.gcc: Support "knl". * config/i386/driver-i386.c (host_detect_local_cpu): Detect "knl". * config/i386/i386-c.c (ix86_target_macro

Re: [PATCH x86] Enable v64qi permutations.

2014-12-05 Thread Ilya Tocar
On 04 Dec 15:16, Uros Bizjak wrote: > On Thu, Dec 4, 2014 at 2:53 PM, Ilya Tocar wrote: > > >> >>> >> Can you add a few testcases? > >> >>> > > >> >>> > Isn't it already covered by gcc.dg/torture/vshu

Re: [PATCH x86] Enable v64qi permutations.

2014-12-04 Thread Ilya Tocar
On 04 Dec 13:51, Uros Bizjak wrote: > On Thu, Dec 4, 2014 at 1:45 PM, Uros Bizjak wrote: > > On Thu, Dec 4, 2014 at 1:04 PM, Jakub Jelinek wrote: > >> On Thu, Dec 04, 2014 at 04:00:27AM -0800, H.J. Lu wrote: > >>> >> Can you add a few testcases? > >>> > > >>> > Isn't it already covered by gcc.dg/

Re: [PING^5][PATCH] Warn about unclosed pragma omp declare target.

2014-12-04 Thread Ilya Tocar
Ping. On 19 Nov 16:34, Ilya Tocar wrote: > As omp target and offloading support is committed to trunk, > I think it's reasonable to add some new warnings. > > On 06 Nov 15:27, Ilya Tocar wrote: > > Ping. > > On 30 Oct 18:31, Ilya Tocar wrote: > > > Ping. &

[PATCH x86] Enable v64qi permutations.

2014-12-04 Thread Ilya Tocar
Hi, As discussed in https://gcc.gnu.org/ml/gcc-patches/2014-10/msg00473.html This patch enables v64qi permutations. I've checked vshuf* tests from dg-torture.exp, with avx512* options on sde and generated permutations are correct. OK for trunk? --- gcc/config/i386/i386.c | 85 +

Re: [PATCH x86] Update options for avx512 testsuite.

2014-12-01 Thread Ilya Tocar
> > I saw > > > > FAIL: gcc.dg/vect/costmodel/i386/costmodel-fast-math-vect-pr29925.c > > scan-tree-dump-times vect "vectorized 1 loops" 1 > > FAIL: gcc.dg/vect/costmodel/x86_64/costmodel-fast-math-vect-pr29925.c > > scan-tree-dump-times vect "vectorized 1 loops" 1 > > FAIL: gcc.target/i386/avx256-

Re: [PATCH, i386] Add new arg values for __builtin_cpu_supports

2014-11-26 Thread Ilya Tocar
> >> I think using cpuid for that is just fine. __builtin_cpu_supports > >> is for ISA additions users might actually want to version code for, > >> MPX stuff, as the instructions are nops without hw support, are not > >> something one would multi-version a function for. > >> If anything, AVX512F

[PATCH] Remove unnecessary calls to strchr.

2014-11-25 Thread Ilya Tocar
Hi, As proposed in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63853 this patch replaces some function calls with pointer arithmetic. I didn't mention PR in Changelog, as they are not actually related. Ok for trunk? gcc/ * gcc.c (handle_foffload_option): Remove unnecessary calls to strc

Re: [PATCH][x86] Add clwb,pcommit,avx512avbmi,avx512ifma.

2014-11-21 Thread Ilya Tocar
On 20 Nov 09:43, Uros Bizjak wrote: > On Wed, Nov 19, 2014 at 6:32 PM, Ilya Tocar wrote: > > Hi, > > > > New revision of Intel ISA reference [1] has new instructions: > > Clwb, pcommit and new flavors of AVX512. Patch bellow adds them. > > I understand that

Re: [PATCH 3/4][x86] Add clwb,pcommit,avx512avbmi,avx512ifma.

2014-11-21 Thread Ilya Tocar
On 20 Nov 09:43, Uros Bizjak wrote: > On Wed, Nov 19, 2014 at 6:32 PM, Ilya Tocar wrote: > > Hi, > > > > New revision of Intel ISA reference [1] has new instructions: > > Clwb, pcommit and new flavors of AVX512. Patch bellow adds them. > > I understand that

Re: [PATCH 2/4][x86] Add clwb,pcommit,avx512avbmi,avx512ifma.

2014-11-21 Thread Ilya Tocar
On 20 Nov 09:43, Uros Bizjak wrote: > On Wed, Nov 19, 2014 at 6:32 PM, Ilya Tocar wrote: > > Hi, > > > > New revision of Intel ISA reference [1] has new instructions: > > Clwb, pcommit and new flavors of AVX512. Patch bellow adds them. > > I understand that

Re: [PATCH 1/4][x86] Add clwb,pcommit,avx512avbmi,avx512ifma.

2014-11-21 Thread Ilya Tocar
On 20 Nov 09:43, Uros Bizjak wrote: > On Wed, Nov 19, 2014 at 6:32 PM, Ilya Tocar wrote: > > Hi, > > > > New revision of Intel ISA reference [1] has new instructions: > > Clwb, pcommit and new flavors of AVX512. Patch bellow adds them. > > I understand that

[PATCH][x86] Add clwb,pcommit,avx512avbmi,avx512ifma.

2014-11-19 Thread Ilya Tocar
sting functionality, and I personally think it's desirable for newest GCC to support newest spec. Bootstrapped/regtestsed on x86_64-unknown-linux-gnu. Ok for trunk? [1]:https://software.intel.com/sites/default/files/managed/0d/53/319433-022.pdf gcc/ 2014-11-19 Ilya Tocar * common/config

Re: [PING^4][PATCH] Warn about unclosed pragma omp declare target.

2014-11-19 Thread Ilya Tocar
As omp target and offloading support is committed to trunk, I think it's reasonable to add some new warnings. On 06 Nov 15:27, Ilya Tocar wrote: > Ping. > On 30 Oct 18:31, Ilya Tocar wrote: > > Ping. > > On 20 Oct 19:26, Ilya Tocar wrote: > > > Ping. > > >

Re: [PING^3][PATCH] Warn about unclosed pragma omp declare target.

2014-11-06 Thread Ilya Tocar
Ping. On 30 Oct 18:31, Ilya Tocar wrote: > Ping. > On 20 Oct 19:26, Ilya Tocar wrote: > > Ping. > > > > On 02 Oct 17:38, Ilya Tocar wrote: > > > Ping. > > > On 15 Aug 16:26, Ilya Tocar wrote: > > > > Ping. > > > > > > >

Re: [PATCH] Correctly check dg-require-effective-target in avx512 tests.

2014-11-06 Thread Ilya Tocar
On 05 Nov 17:17, Uros Bizjak wrote: > On Wed, Nov 5, 2014 at 5:14 PM, Ilya Tocar wrote: > > Hi, > > > > Currently we only check for dg-require-effective-target avx512vl in > > avx512vl tests. We should also check for avx512dq/avx512bw. > > Patch bwllow does this.

[PATCH] Correctly check dg-require-effective-target in avx512 tests.

2014-11-05 Thread Ilya Tocar
Hi, Currently we only check for dg-require-effective-target avx512vl in avx512vl tests. We should also check for avx512dq/avx512bw. Patch bwllow does this. Ok for trunk? 2014-11-05 Ilya Tocar * gcc.target/i386/avx512vl-vandnpd-2.c: Fix dg-require-effective-target cehck

Re: [PING][PATCH] Don't call fatal_error before error reporting has been initialized.

2014-11-05 Thread Ilya Tocar
Ping. On 20 Oct 19:25, Ilya Tocar wrote: > Same in collect2. > > On 09 Oct 15:40, Ilya Tocar wrote: > > Ping. > > > > On 29 Sep 18:02, Ilya Tocar wrote: > > > Hi, > > > > > > Currently if call to atexit (lto_wrapper_cleanup) fails we &g

Re: [PATCH AVX512] Fix dg.torture tests with avx512

2014-11-05 Thread Ilya Tocar
On 03 Nov 11:21, Jakub Jelinek wrote: > On Fri, Oct 31, 2014 at 11:17:07AM +0100, Uros Bizjak wrote: > > I'd like to ask Jakub for a review of the above two parts, other parts > > are OK with a rename (as mentioned above). > > Looks ok to me. Where the ICEs discovered just by normal make check or

Re: [PING^2][PATCH] Warn about unclosed pragma omp declare target.

2014-10-30 Thread Ilya Tocar
Ping. On 20 Oct 19:26, Ilya Tocar wrote: > Ping. > > On 02 Oct 17:38, Ilya Tocar wrote: > > Ping. > > On 15 Aug 16:26, Ilya Tocar wrote: > > > Ping. > > > > > > On 29 Jul 18:45, Ilya Tocar wrote: > > > > Hi, > > > > >

[PATCH AVX512] Fix dg.torture tests with avx512

2014-10-30 Thread Ilya Tocar
Hi, I've run gcc.dg/torture/* tests with -mavx512bw -mavx512vl -mavx512dq flags, and got a bunch of fails (mostly in permutes autogen). Patch below fixes them. Ok for trunk? 2014-10-30 Ilya Tocar * config/i386/i386.c (expand_vec_perm_pshufb): Try vpermq/vpermd for 51

Re: [PING][PATCH] Warn about unclosed pragma omp declare target.

2014-10-20 Thread Ilya Tocar
Ping. On 02 Oct 17:38, Ilya Tocar wrote: > Ping. > On 15 Aug 16:26, Ilya Tocar wrote: > > Ping. > > > > On 29 Jul 18:45, Ilya Tocar wrote: > > > Hi, > > > > > > As discussed here in https://gcc.gnu.org/ml/gcc/2014-01/msg00189.html > &

Re: [PATCH] Don't call fatal_error before error reporting has been initialized.

2014-10-20 Thread Ilya Tocar
Same in collect2. On 09 Oct 15:40, Ilya Tocar wrote: > Ping. > > On 29 Sep 18:02, Ilya Tocar wrote: > > Hi, > > > > Currently if call to atexit (lto_wrapper_cleanup) fails we > > won't report error as we haven't initialized error-reporting > >

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

2014-10-20 Thread Ilya Tocar
avx512f-vec-unpack test failures). Patch below fixes it. Ok for trunk? 2014-10-20 Ilya Tocar * config/i386/i386.c (expand_vec_perm_1): Fix expand_vec_perm_palignr case. * config/i386/sse.md (_palignr_mask): Use VI1_AVX512. --- gcc/config/i386/i386.c | 1 + gc

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 wrote: > > > Please recode that horrible first switch statement to: > > --cut here-- > rtx (*gen) (rtx, rtx, rtx, rtx) = NULL; > > switch (mode) > { > case V8HI

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[

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, Oc

Re: [PATCH] Don't call fatal_error before error reporting has been initialized.

2014-10-09 Thread Ilya Tocar
Ping. On 29 Sep 18:02, Ilya Tocar wrote: > Hi, > > Currently if call to atexit (lto_wrapper_cleanup) fails we > won't report error as we haven't initialized error-reporting > infrastructure. This patch moves this call after diagnostic_initialize. > I hop

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

2014-10-06 Thread Ilya Tocar
On 06 Oct 09:08, Jakub Jelinek wrote: > On Fri, Oct 03, 2014 at 04:39:08PM +0200, Jakub Jelinek wrote: > > Just to stress the new testcases some more, I've enabled the > > vec_perm_const{32hi,64qi} patterns. > > Got several ICEs in expand_vec_perm_broadcast_1, > > on the final gcc_unreachable () in

Re: [PATCH,i386] Fix adxintrin on mingw.

2014-10-06 Thread Ilya Tocar
On 03 Oct 07:53, H.J. Lu wrote: > On Fri, Oct 3, 2014 at 6:46 AM, Ilya Tocar wrote: > > On 02 Oct 07:41, H.J. Lu wrote: > >> On Thu, Oct 2, 2014 at 7:29 AM, Ilya Tocar wrote: > >> > >> The same is true for x32. Can you add a testcase to show

Re: [PATCH,i386] Fix adxintrin on mingw.

2014-10-03 Thread Ilya Tocar
On 02 Oct 07:41, H.J. Lu wrote: > On Thu, Oct 2, 2014 at 7:29 AM, Ilya Tocar wrote: > > Hi, > > > > sizeof (long) == 4 on windows, so we should use long long as param type. > > Patch below does it. > > The same is true for x32. Can you add a testcase to show

[PATCH,i386] Fix adxintrin on mingw.

2014-10-02 Thread Ilya Tocar
Hi, sizeof (long) == 4 on windows, so we should use long long as param type. Patch below does it. Ok for trunk? 2014-10-02 Ilya Tocar * config/i386/adxintrin.h (_subborrow_u64): Use long long for param type. (_addcarry_u64): Ditto. (_addcarryx_u64): Ditto

[PING][PATCH] Warn about unclosed pragma omp declare target.

2014-10-02 Thread Ilya Tocar
Ping. On 15 Aug 16:26, Ilya Tocar wrote: > Ping. > > On 29 Jul 18:45, Ilya Tocar wrote: > > Hi, > > > > As discussed here in https://gcc.gnu.org/ml/gcc/2014-01/msg00189.html > > Gcc should complain about pragma omp declare target without > > correspond

Re: [PATCH][PING] PR62120

2014-09-30 Thread Ilya Tocar
Ping. On 15 Sep 18:43, Ilya Tocar wrote: > On 01 Sep 18:38, Ilya Tocar wrote: > > > Please mention the PR in the ChangeLog entry and add some testcases > > > (can be gcc.target/i386/, but we should have it tested). > > > Does this change anything on say regist

[PATCH] Don't call fatal_error before error reporting has been initialized.

2014-09-29 Thread Ilya Tocar
nup after it. Ok for trunk? 2014-09-29 Ilya Tocar * lto-wrapper.c (main): Don't call fatal_error before diagnostic_initialize. --- gcc/lto-wrapper.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gcc/lto-wrapper.c b/gcc/lto-wrapper.c index 08fd

Re: [PATCH] fix hardreg_cprop to honor HARD_REGNO_MODE_OK.

2014-09-26 Thread Ilya Tocar
On 25 Sep 13:14, Jeff Law wrote: > On 09/01/14 04:29, Ilya Tocar wrote: > >>> > >>>AVX512 added new 16 xmm registers (xmm16-xmm31). > >>>Those registers require evex encoding. > >>>Only 512-bit wide versions of instructions have evex encodi

[PATCH,i386] Properly check xgetbv for zmm support.

2014-09-15 Thread Ilya Tocar
Hi, Currently we don't check zmm/mask-registers related bits in xgetbv output, when detecting native cpu. Patch below fixes it. Bootstraps/passes make check. Ok for trunk? ChangeLog: gcc/ 2014-09-15 Ilya Tocar * config/i386/driver-i386.c (host_detect_local_cpu): Detect la

Re: [PATCH] PR62120

2014-09-15 Thread Ilya Tocar
On 01 Sep 18:38, Ilya Tocar wrote: > > Please mention the PR in the ChangeLog entry and add some testcases > > (can be gcc.target/i386/, but we should have it tested). > > Does this change anything on say register short sil __asm ("sil"); in 32-bit > > mode (w

Add missing Broadwell intrinsics.

2014-09-02 Thread Ilya Tocar
Ilya Tocar * config/i386/adxintrin.h (_subborrow_u32): New. (_addcarry_u32): Ditto. (_subborrow_u64): Ditto. (_addcarry_u64): Ditto. * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_SBB32, IX86_BUILTIN_SBB64. (ix86_init_mmx_sse_builtins

Re: [PATCH] PR62120

2014-09-01 Thread Ilya Tocar
il", "dil", "bpl", "spl",} And gcc doesn't recognize sil. Added testcase, and fixed avx512f-additional-reg-names.c to be valid on 32 bits. Ok for trunk? gcc/ 2014-09-01 Ilya Tocar PR middle-end/62120 * varasm.c (decode_reg_name_and_cou

[PATCH] PR62120

2014-09-01 Thread Ilya Tocar
Hi, this patch adds checks for registers availability, when alternative/numeric name is used. Bootstraps/passes make-check on x86-64. Ok for trunk? ChangeLog: gcc/ 2014-09-01 Ilya Tocar * varasm.c (decode_reg_name_and_count): Check availability for registers from

Re: [PATCH] fix hardreg_cprop to honor HARD_REGNO_MODE_OK.

2014-09-01 Thread Ilya Tocar
> > > >AVX512 added new 16 xmm registers (xmm16-xmm31). > >Those registers require evex encoding. > >Only 512-bit wide versions of instructions have evex encoding with > >avx512f, but all versions have it with avx512vl. > >Most instructions have same macroized pattern for 128/256/512 vector > >leng

Re: [PATCH] Warn about unclosed pragma omp declare target.

2014-08-15 Thread Ilya Tocar
Ping. On 29 Jul 18:45, Ilya Tocar wrote: > Hi, > > As discussed here in https://gcc.gnu.org/ml/gcc/2014-01/msg00189.html > Gcc should complain about pragma omp declare target without > corresponding pragma omp end declare target. This patch adds a warning > for those cases. &

Re: [COMMITTED] Add myself to MAINTAINERS file (Write After Approval)

2014-08-15 Thread Ilya Tocar
ndex: ChangeLog === --- ChangeLog (revision 214011) +++ ChangeLog (revision 214012) @@ -1,3 +1,7 @@ +2014-08-15 Ilya Tocar + + * MAINTAINERS (Write After Approval): Add myself. + 2014-08-01 Jiong Wang * MAINTAINERS (Write After Approval): Add myself. Ind

[COMMITTED] Add myself to MAINTAINERS file (Write After Approval)

2014-08-15 Thread Ilya Tocar
Hi, This patch adds myself to the MAINTAINERS file. Commmitted as 214012. --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index 87fb9dd..a40a537 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -555,6 +555,7 @@ Dinar Temirbulatov

Re: [PATCH] fix hardreg_cprop to honor HARD_REGNO_MODE_OK.

2014-08-14 Thread Ilya Tocar
> >I've observed SPEC2006 failure on avx512-vlbwdq branch. > >It was caused by hardreg_cprop. In maybe_mode_change it was > >assumed, that all values of the same register class and same mode. > >are ok. This is not the case for i386/avx512. We need to honor > >HARD_REGNO_MODE_OK. > One could argu

[PATCH] PR61878

2014-08-13 Thread Ilya Tocar
Hi, This patch adds missing intrinsics and tests for them. Ok for trunk? gcc/ChangeLog: 2014-08-13 Ilya Tocar * config/i386/avx512fintrin.h (_mm512_mask_cmpge_epi32_mask): New. (_mm512_mask_cmpge_epu32_mask): Ditto. (_mm512_cmpge_epu32_mask): Ditto

[PATCH] fix hardreg_cprop to honor HARD_REGNO_MODE_OK.

2014-08-11 Thread Ilya Tocar
t. Ok for trunk? 2014-08-11 Ilya Tocar * regcprop.c (maybe_mode_change): Honor HARD_REGNO_MODE_OK. --- gcc/regcprop.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/regcprop.c b/gcc/regcprop.c index 932037d..694deb2 100644 --- a/gcc/regcprop.c +++ b/gcc/regcp

Re: Fix vec_extract_lo constraint.

2014-08-05 Thread Ilya Tocar
> I'd suggest op0: "=,v" and op1: "v,m". This > would result in op0:"=vm,v" op1:"v,m" and op0:"=v,v" op1:"v,m". > > Uros. Done. 2014-08-05 Ilya Tocar * common/config/i386/sse.md (vec_extract_lo_): Fix

Fix vec_extract_lo constraint.

2014-08-05 Thread Ilya Tocar
Hi, I've noticed that vec_extract_lo_ pattern has vm/vm alternative when mask is not applied. This can lead to insn with 2 memory operands. Patch bellow fixes it. Ok for trunk? 2014-08-05 Ilya Tocar * common/config/i386/sse.md (vec_extract_lo_): Fix constraint. ---

[PATCH] Warn about unclosed pragma omp declare target.

2014-07-29 Thread Ilya Tocar
. (c_parser_omp_end_declare_target): Forget location. And ChangeLog for testsuite: 2014-07-29 Ilya Tocar * gcc.dg/gomp//target-3.c: New testcase. --- gcc/c/c-decl.c | 3 +++ gcc/c/c-lang.h | 3 +++ gcc/c/c-parser.c

Re: [PATCH][x86] Support clflushopt, xsaves, xsavec.

2014-05-13 Thread Ilya Tocar
On 12 May 15:42, Uros Bizjak wrote: > On Mon, May 12, 2014 at 3:25 PM, Ilya Tocar wrote: > > > This patch add support for xsavec, xsaves ISA extensions, introduced in > > [1], and clflushopt introduced in [2]. > > > > [1]http://www.intel.com/content/www/us/en/pro

[PATCH][x86] Support clflushopt, xsaves, xsavec.

2014-05-12 Thread Ilya Tocar
-check. Ok for trunk? Changelog: 2014-05-12 Ilya Tocar * common/config/i386/i386-common.c (OPTION_MASK_ISA_CLFLUSHOPT_SET): Define. (OPTION_MASK_ISA_XSAVES_SET): Ditto. (OPTION_MASK_ISA_XSAVEC_SET): Ditto. (OPTION_MASK_ISA_CLFLUSHOPT_UNSET): Ditto

Re: [PATCH] x86: Define _mm*_undefined_*

2014-03-18 Thread Ilya Tocar
On 17 Mar 22:18, Ulrich Drepper wrote: > On Mon, Mar 17, 2014 at 7:39 AM, Ilya Tocar wrote: > > > undefined is similar in behavior to setzero, but it also clobbers > > flags. Maybe just define it to setzero for now? > > > > > What do you mean by "clobbers

Re: [PATCH] x86: Define _mm*_undefined_*

2014-03-17 Thread Ilya Tocar
On 16 Mar 07:12, Ulrich Drepper wrote: > [This patch is so far really meant for commenting. I haven't tested it > at all yet.] > > Intel's intrinsic specification includes one set which currently is not > defined in gcc's headers: the _mm*_undefined_* intrinsics. What specification are talking ab

Re: [PATCH][i386][AVX512] Match latest spec.

2014-02-25 Thread Ilya Tocar
On 20 Feb 17:23, Uros Bizjak wrote: > On Thu, Feb 20, 2014 at 4:39 PM, Ilya Tocar wrote: > > > Latest version of AVX512 spec > > http://download-software.intel.com/sites/default/files/managed/50/1a/319433-018.pdf > > Has a few changes. > > 2)Currently for scatte

Re: [PATCH][i386][AVX512] Match latest spec. Add CPUID prefetchwt1.

2014-02-25 Thread Ilya Tocar
On 21 Feb 18:35, Uros Bizjak wrote: > On Fri, Feb 21, 2014 at 4:25 PM, Ilya Tocar wrote: > >> > Latest version of AVX512 spec > >> > http://download-software.intel.com/sites/default/files/managed/50/1a/319433-018.pdf > >> > Has a few changes. > >

Re: [PATCH][i386][AVX512] Match latest spec. Add CPUID prefetchwt1.

2014-02-21 Thread Ilya Tocar
ints on > non-algorithmic patch a bit, weighting in benefits of having gcc > release that fully conforms to some published specification. > Patch bellow add -mprefetchwt1 flag, corresponding TARGET_PREFETCHWT1, and uses them for prefetchwt1 instruction. Bootstraps/passes testing. Ok for

[PATCH][i386][AVX512] Match latest spec.

2014-02-20 Thread Ilya Tocar
refer? Patch bellow changes CPUID of vptestnmq/vptestnmd and changes some bogus %v to v. Bootstraps, passes make check. Ok for trunk? ChangeLog 2014-02-20 Ilya Tocar * config/i386/avx512fintrin.h (_mm512_testn_epi32_mask), (_mm512_mask_testn_epi32_mask), (_mm512_testn_epi64

[PATCH][i386][AVX512] PR60204 - update abi for large structs.

2014-02-19 Thread Ilya Tocar
is ok. Ok for trunk? ChangeLog bellow: 2014-02-19 Ilya Tocar * config/i386/i386.c (classify_argument): Update to reflect abi fix. And for testsuite: 2014-02-19 Ilya Tocar * gcc.target/x86_64/abi/avx512f/test_passing_structs.c: Update to reflect abi fix

Re: [gomp4] Merge trunk r206958 (was: gomp-4_0-branch)

2014-02-03 Thread Ilya Tocar
omp-low.c:12410 > 0xacc652 execute > ../../source/gcc/omp-low.c:12443 > > In my understanding, the only gomp-4_0-branch-specific change that is a > candidate to cause this is r205214 (Ilya Tocar, commited by Kirill > Yukhin) for "LTO" streaming. As I couldn't

Re: [PATCH][testsuite] Avoid division by zero.

2014-01-31 Thread Ilya Tocar
> >> We won't get zero from exponential function, so expecting zero result > >> is flawed anyway. > >> > >> If we would like to introduce universal epsilon comparisons into the > >> testsuite, then please read [1]. Being overly pedantic, the definition > >> should be "|(v[i] - u.a[i]) / v[i]|", as

Re: [PATCH][testsuite] Avoid division by zero.

2014-01-31 Thread Ilya Tocar
On 30 Jan 19:24, Uros Bizjak wrote: > On Thu, Jan 30, 2014 at 5:41 PM, Ilya Tocar wrote: > > > This patch removes possible division by zero. > > Make check passes. Ok for trunk? > > > > 2014-01-30 Ilya Tocar > > > > * gcc.target/i386

[PATCH][testsuite] Avoid division by zero.

2014-01-30 Thread Ilya Tocar
Hi, This patch removes possible division by zero. Make check passes. Ok for trunk? 2014-01-30 Ilya Tocar * gcc.target/i386/m512-check.h: Use correct rounding values. --- gcc/testsuite/gcc.target/i386/m512-check.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a

Re: [PATCH][AVX512] Swap Yk and k constraints.

2014-01-30 Thread Ilya Tocar
2014-01-30 H.J. Lu : > On Thu, Jan 30, 2014 at 2:54 AM, Ilya Tocar wrote: >> Hi, >> >> Turns out that for Icc meaning of Yk and k constraints >> (exposed through inline asm) is opposite to current GCC implementation. >> As Icc with such behavior was already r

[PATCH][AVX512] Swap Yk and k constraints.

2014-01-30 Thread Ilya Tocar
asses make check/SPEC2006. Ok for trunk? Here is ChangeLog: 2014-01-30 Ilya Tocar * config/i386/constraints.md (Yk): Swap meaning with k. * config/i386/i386.md (movhi_internal): Change Yk to k. (movqi_internal): Ditto. (*k): Ditto. (*andhi_1):

Re: [PATCH][AVX512] Add forgotten intrinsics.

2014-01-23 Thread Ilya Tocar
> >> > I found out that we forgot to implement some of AVX512 intrinsics. > >> > Here is a patch that adds them. Sorry for huge patch, but changes are > >> > mostly trivial. > >> > Ok for trunk? ... > >> > >> This is the same as the second alternative of the > >> avx512f_2_mask pattern. Please chan

Re: [PATCH i386 9/8] [AVX512] Add forgotten kmovw insn, built-in and test.

2013-12-31 Thread Ilya Tocar
> RA figured out that operation with general registers results in less > moves (you already have x1 in general reg). This is exaclty the reason > why I think unspecs are not needed. It is the job of the compiler to > choose most appropriate approach, and its behavior should be adjusted > with appro

Re: [PATCH i386 9/8] [AVX512] Add forgotten kmovw insn, built-in and test.

2013-12-30 Thread Ilya Tocar
> You don't need an unspec (or corresponding __builtin), generic movhi > pattern should be able to generate correct insn. > > Uros. Hi, Generic movhi genrates simple mov. Actually the whole purpose of this intrinsic is to let complier know, that this variable should pe placed on mask register an

[PATCH][x86] march aliases

2013-12-20 Thread Ilya Tocar
> > Perhaps we should add sandybridge, ivybridge and haswell aliases for > > corei7-avx, core-avx-i, core-avx2? I mean, it is a nightmare to remember > > which one has the i7 in and which doesn't even for me. > > Yes please, I think this is a good idea. I've added aliases for haswell, sandybridg

Re: [PATCH] Add -march=bdw support

2013-12-19 Thread Ilya Tocar
> > Why not -march=broadwell instead? > > > > If people don't mind long names, "broadwell" works for me. Done. > > * config/i386/driver-i386.c (host_detect_local_cpu): Detect broadwell. >^Capital B. Thanks, fixed. > Just say Intel Broadwell CPU. Done. Other

[PATCH] Add -march=bdw support

2013-12-19 Thread Ilya Tocar
Hi, This patch adds march for broadwell cpu. -march=bdw is the same as -march=core-avx2 but with support for rdseed, adcx, prefetchw. OK for trunk? Thanks. 2013-12-19 Tocar Ilya * config.gcc: Support march=bdw. * config/i386/driver-i386.c (host_detect_local_cpu): Detect broa

Re: Ping Re: [gomp4] Dumping gimple for offload.

2013-11-19 Thread Ilya Tocar
ing for. I've changed it into: Set when symbol needs to be dumped into LTO bytecode for LTO, or in pragma omp target case, for separate compilation targeting a different architecture. Ok for gomp4 branch now? 2013-11-19 Ilya Tocar * cgraph.h (symtab_node): Add need_dump.

Re: Ping Re: [gomp4] Dumping gimple for offload.

2013-11-14 Thread Ilya Tocar
On 18 Oct 13:30, Richard Biener wrote: > Certainly better than the first version. Jakub should decide for the branch > and eventually Honza for the merge to trunk. It still looks somewhat hackish, > but I suppose that's because we don't have a LTO-state object where we > can encapsulate all this.

Re: Ping Re: [gomp4] Dumping gimple for offload.

2013-10-17 Thread Ilya Tocar
Ping. On 09 Oct 19:12, Ilya Tocar wrote: > Ping. > > On 03 Oct 20:05, Ilya Tocar wrote: > > On 26 Sep 21:21, Ilya Tocar wrote: > > > On 25 Sep 15:48, Richard Biener wrote: > > > > On Wed, Sep 25, 2013 at 3:29 PM, Ilya Tocar > > > > wrote:

Re: Ping Re: [gomp4] Dumping gimple for offload.

2013-10-09 Thread Ilya Tocar
Ping. On 03 Oct 20:05, Ilya Tocar wrote: > On 26 Sep 21:21, Ilya Tocar wrote: > > On 25 Sep 15:48, Richard Biener wrote: > > > On Wed, Sep 25, 2013 at 3:29 PM, Ilya Tocar > > > wrote: > > > > On 24 Sep 11:02, Richard Biener wrote: > > >

Ping Re: [gomp4] Dumping gimple for offload.

2013-10-03 Thread Ilya Tocar
On 26 Sep 21:21, Ilya Tocar wrote: > On 25 Sep 15:48, Richard Biener wrote: > > On Wed, Sep 25, 2013 at 3:29 PM, Ilya Tocar wrote: > > > On 24 Sep 11:02, Richard Biener wrote: > > >> On Mon, Sep 23, 2013 at 3:29 PM, Ilya Tocar > > >> wrote: &

Re: [gomp4] Library side of depend clause support

2013-09-30 Thread Ilya Tocar
On 27 Sep 12:08, Jakub Jelinek wrote: Looks like you forgot some files. I've checked http://gcc.gnu.org/viewcvs/gcc?view=revision&revision=202968 And e. g. hashtab.h is missing. So currently branch is failing to build, with task.c:46:21: fatal error: hashtab.h: No such file or directory > Here is

Re: [gomp4] Dumping gimple for offload.

2013-09-26 Thread Ilya Tocar
On 25 Sep 15:48, Richard Biener wrote: > On Wed, Sep 25, 2013 at 3:29 PM, Ilya Tocar wrote: > > On 24 Sep 11:02, Richard Biener wrote: > >> On Mon, Sep 23, 2013 at 3:29 PM, Ilya Tocar > >> wrote: > >> thus consider assigning the section > >>

Re: [gomp4] Dumping gimple for offload.

2013-09-25 Thread Ilya Tocar
On 24 Sep 11:02, Richard Biener wrote: > On Mon, Sep 23, 2013 at 3:29 PM, Ilya Tocar wrote: > > Hi, > > > > I've rebased my patch. > > Is it ok for gomp4 > > Passing through "is_omp" looks bad - please find a more suitable place > to attach this

[gomp4] Dumping gimple for offload.

2013-09-23 Thread Ilya Tocar
Hi, I've rebased my patch. Is it ok for gomp4 2013/9/13 Ilya Tocar : > Hi, > > I'm working on dumping gimple for "omp pragma target" stuff into > gnu.target_lto_ sections. > I've tried to reuse current lto infrastructure as much as possible. > >

[patch RFC,PR50038]

2011-10-04 Thread Ilya Tocar
implicit-zee pass), so comments are welcome. Also if this aproach is correct we will need to enable implicit-zee pass on some new targets ( for example x86 32bit). It passes bootstrap and make-check. Here is a Changelog: 2011-09-27 Ilya Tocar * implicit-zee.c: Added 2011 to copyright

Re: [PATCH, i386, testsuite] FMA intrinsics

2011-08-25 Thread Ilya Tocar
Fixed. Changelog: 2011-08-25 Ilya Tocar * config/i386/fmaintrin.h: New. * config.gcc: Add fmaintrin.h. * config/i386/i386.c (enum ix86_builtins) : New. : Likewise. * config/i386/sse.md (fmai_vmfmadd_): New

Re: [PATCH, i386, testsuite] FMA intrinsics

2011-08-25 Thread Ilya Tocar
Sorry. Like this? Changelog: 2011-08-25  Ilya Tocar                * config/i386/fmaintrin.h: New.              * config.gcc: Add fmaintrin.h.              * config/i386/i386.c (enum ix86_builtins) : New.              : Likewise.              * config/i386/sse.md (fmai_vmfmadd_

  1   2   >