for trunk?
ChangeLog:
2013-09-10 Yuri Rumyantsev
* config/i386/x86-tune.def: Turn on X86_TUNE_AVOID_MEM_OPND_FOR_CMOVE
for SLM.
patch
Description: Binary data
Hi All,
Here is 1-line fix which improves Atom performance by better distance
estimation. We got ~20% speedup on one of bench from eembc2.0 with
this fix.
Bootstrapping and regression testing were successful for x86-64.
Is it OK for trunk?
ChangeLog:
2013-09-16 Yuri Rumyantsev
* config
Uros,
Thanks for your review.
I attached modified patch - is it OK for you now?
2013/9/16 Uros Bizjak :
> On Mon, Sep 16, 2013 at 2:50 PM, Yuri Rumyantsev wrote:
>> Hi All,
>>
>> Here is 1-line fix which improves Atom performance by better distance
>> estimation. We
Here is a final patch with fixed commentary.
2013/9/16 Uros Bizjak :
> On Mon, Sep 16, 2013 at 5:01 PM, Yuri Rumyantsev wrote:
>
>> Does this comment looks good to you:
>>
>> if (start != NULL_RTX)
>> {
>> bb = BLOCK_FOR_INSN (start
.
The fix was fully tested on all acceptable suites and gcc
bootstrapping with turned on pre-reload scheduler.
Tested for i386 and x86-64, ok for trunk?
ChangeLog:
2012-10-23 Yuri Rumyantsev
* config/i386/i386.c (insn_is_function_arg) : Add check on CALL
instruction
Hi All,
Here is a simple fix which allows to vectorize loop marked with
'pragma omp simd' even if cost model tells us that vectorization is
not profitable.
I checked that on simple test-case is works as expected.
Is it Ok for trunk?
ChangeLog:
2013-10-31 Yuri Rumyantsev
* tree-v
.
Is it OK for trunk?
Thanks.
Yuri.
ChangeLog:
2016-01-22 Yuri Rumyantsev
PR middle-end/68542
* config/i386/i386.c (ix86_expand_branch): Add support for conditional
brnach with vector comparison.
* config/i386/sse.md (define_expand "cbranch4): Add define-expand
for vector comparion with
Thanks Richard.
Uros,
Could you please review back-end part of this patch?
Thanks.
Yuri.
2016-01-28 16:26 GMT+03:00 Richard Biener :
> On Fri, Jan 22, 2016 at 3:29 PM, Yuri Rumyantsev wrote:
>> Richard,
>>
>> I fixed all remarks pointed by you in vectorizer part of patch
Uros,
Here is update patch which includes (1) couple changes proposed by
Richard in tree-vect-loop.c and (2) the changes in back-end proposed
by you.
Is it OK for trunk?
Bootstrap and regression testing dis not show any new failures.
ChangeLog:
2016-01-29 Yuri Rumyantsev
PR middle-end
.
Bootstrapping and regression testing on v86-64 did not show any new failures.
Is it OK for trunk?
ChangeLog:
2016-02-04 Yuri Rumyantsev
PR tree-optimization/69652
* tree-vect-loop.c (optimize_mask_stores): Move declaration of STMT1
to nested loop, introduce new SCALAR_VUSE vector to keep vuse of all
all vector statements in semi-hammock including SQRT.
Bootstrap and regression testing did not show any new failures.
Is it OK for trunk?
ChangeLog:
2016-02-05 Yuri Rumyantsev
PR tree-optimization/69652
* tree-vect-loop.c (optimize_mask_stores): Move declaration of STMT1
to nested loop, introd
Hi James,
Thanks for reporting this issue.
I prepared slightly different patch since we don't need to add
tree-vect dump option - it is on by default for all tests in /vect
directory.
gcc/testsuite/ChangeLog:
* gcc.dg/vect/vect-mask-store-move-1.c: Gate dump with x86 target.
2016-02-08 16:07 GM
Sorry for troubles.
One line must be excluded from test:
-/* { dg-options "-O3" } */
Here is updated patch.
Best regards.
Yuri.
2016-02-08 16:40 GMT+03:00 James Greenhalgh :
> On Mon, Feb 08, 2016 at 04:29:31PM +0300, Yuri Rumyantsev wrote:
>> Hi James,
>>
>>
Thanks Richard for your comments.
I changes algorithm to remove dead scalar statements as you proposed.
Bootstrap and regression testing did not show any new failures on x86-64.
Is it OK for trunk?
Changelog:
2016-02-10 Yuri Rumyantsev
PR tree-optimization/69652
* tree-vect-loop.c
Hi All,
Here is a simple patch for gcc.dg/ifcvt5.c test - detect "6 basic
blocks" string in rtl dump also to accept speculative motion of
else-part of if-stmt before test-part aka IF-CASE-2.
Is it OK for trunk?
ChanageLog:
2016-02-29 Yuri Rumyantsev
PR rtl-optimization/69942
gcc
This test simply checks that ICE is not occurred but not any
vectorization issues.
Best regards.
Yuri.
2016-02-28 20:29 GMT+03:00 H.J. Lu :
> On Wed, Feb 10, 2016 at 2:26 AM, Yuri Rumyantsev wrote:
>> Thanks Richard for your comments.
>> I changes algorithm to remove dead scala
Jacub!
Here is patch and ChangeLog to move pr69652.c to /vect directory.
Is it OK for trunk.
Thanks.
Yuri.
ChangeLog:
2016-02-29 Yuri Rumyantsev
PR tree-optimization/69652
gcc/testsuite/ChangeLog:
* gcc.dg/torture/pr69652.c: Delete test.
* gcc.dg/vect/pr69652.c: New test.
2016-02-29 16
Hi All,
Attached is evident fix found in process of investigation of PR 58721.
Note that this fix does not resolve it.
Is it OK for trunk?
ChangeLog:
2013-11-02 Yuri Rumyantsev
* gcc/ipa-inline.c (check_callers) : Add missed pointer de-reference.
ipa-inline-fix
Description: Binary data
Hi All,
Attached is one-line fix which reduced a cost of integer
multiplication for HI mode since imul instruction design was improved
in SLM (in comparison with Atom).
Is it OK for trunk?
ChangeLog:
2013-12-13 Yuri Rumyantsev
* config/i386/i386.c (slm_cost): Fix imul cost for HI.
x86
n (such test-case is also included
to patch).
Bootstrap and regression testing did not show any new failures.
Is it OK for trunk?
ChangeLog:
2015-07-10 Yuri Rumyantsev
* tree-ssa-loop-unswitch.c: Include "tree-cfgcleanup.h" and
"gimple-iterator.h", add protot
t-hook. Could you
propose another solution implementing it?
Thanks.
Yuri.
2015-07-10 8:51 GMT+03:00 Jeff Law :
> On 06/18/2015 08:32 AM, Yuri Rumyantsev wrote:
>>
>> Richard,
>>
>> Here is updated patch which does not include your proposal related to
>> the targe
Hi All,
Here is simple fix which fixes PR66926 and PR66951 - fix condition for
renaming virtual operands to determine that statement is outside of
loop.
Bootstrap and regression testing did not show any new failures.
Is it OK for trunk?
gcc/ChangeLog
2015-07-22 Yuri Rumyantsev
PR tree
Hi Richard,
I checked that both test-cases from 23855 are sucessfully unswitched
by proposed patch. I understand that it does not catch deeper loop
nest as
for (i=0; i<10; i++)
for (j=0;j:
> On Fri, Jul 10, 2015 at 12:02 PM, Yuri Rumyantsev wrote:
>> Hi All,
>>
&g
AM, Yuri Rumyantsev wrote:
>>
>> Hi Jeff!
>>
>> Thanks for your details comments.
>>
>> You asked:
>> How are conditionals on vectors usually handled? You should try to
>> mimick that and report, with detail, why that's not working.
>>
>
r-loop
vectorization. But it is clear that such transformation can be done
other pass.
What is your opinion?
Yuri.
2015-07-28 13:50 GMT+03:00 Richard Biener :
> On Thu, Jul 23, 2015 at 4:45 PM, Yuri Rumyantsev wrote:
>> Hi Richard,
>>
>> I checked that both test-cases fr
-08-06 Yuri Rumyantsev
* config/i386/i386.c (ix86_expand_branch): Implement vector
comparison with boolean result.
* config/i386/sse.md (define_expand "cbranch4): Add define
for vector comparion.
* fold-const.c (fold_relational_const): Add handling of vector
comparison with boolean r
any new failures.
What is your opinion?
Thanks.
ChangeLog:
2015-09-30 Yuri Rumyantsev
* tree-ssa-loop-unswitch.c: Include "gimple-iterator.h" and
"cfghooks.h", add prototypes for introduced new functions.
(tree_ssa_unswitch_loops): Use from innermost loop iterator, move all
-10-05 13:57 GMT+03:00 Richard Biener :
> On Wed, Sep 30, 2015 at 12:46 PM, Yuri Rumyantsev wrote:
>> Hi Richard,
>>
>> I re-designed outer loop unswitching using basic idea of 23855 patch -
>> hoist invariant guard if loop is empty without guard. Note that this
:
2015-10-06 Yuri Rumyantsev
* tree-ssa-loop-unswitch.c: Include "gimple-iterator.h" and
"cfghooks.h", add prototypes for introduced new functions.
(tree_ssa_unswitch_loops): Use from innermost loop iterator, move all
checks on ability of loop unswitching to tree_unswitch
Richard,
I've fixed adding virtual phi argument and add check on irreducible basic block.
New patch is attached.
I checked it for bootstrap and regression testing, no new failures.
ChangeLog:
2015-10-07 Yuri Rumyantsev
* tree-ssa-loop-unswitch.c: Include "gimple-iterator.h"
Richard,
I noticed that 'gimple' type was changed and send you updated patch.
Thanks.
Yuri.
2015-10-07 12:53 GMT+03:00 Yuri Rumyantsev :
> Richard,
>
> I've fixed adding virtual phi argument and add check on irreducible basic
> block.
> New patch is attached.
>
Yuri Rumyantsev
* tree-vect-loop.c (vect_analyze_loop_operations): Skip virtual phi
in the tail of outer-loop.
gcc/testsuite/ChangeLog:
* gcc.dg/vect/vect-outer-simd-3.c: New test.
patch.outer-vec
Description: Binary data
Hi All,
Here is a simple patch for unswitching outer loop through guard-edge
hoisting. The check that guard-edge is around the inner loop was
missed.
Bootstrapping and regression testing did not show new failures.
Is it OK for trunk?
ChangeLog:
2014-10-13 Yuri Rumyantsev
PR tree
Here is updated patch with splitting long line.
The patch is attached.
Yuri.
2015-10-13 15:38 GMT+03:00 H.J. Lu :
> On Tue, Oct 13, 2015 at 4:57 AM, Yuri Rumyantsev wrote:
>> Hi All,
>>
>> Here is a simple patch for unswitching outer loop through guard-edge
>> hoi
Hi All,
Here is a preliminary patch to combine vectorized loop with its scalar
remainder, draft of which was proposed by Kirill Yukhin month ago:
https://gcc.gnu.org/ml/gcc-patches/2015-09/msg01435.html
It was tested wwith '-mavx2' option to run on Haswell processor.
The main goal of it is to impr
pe)),
MODE_INT, 0);
ext_type = lang_hooks.types.type_for_mode (ext_mode , 1);
but I've got zero type for it. Should I miss something?
Any help will be appreciated.
Yuri.
2015-08-13 14:40 GMT+03:00 Richard Biener :
> On Thu, Aug 13, 2015 at 1:32 PM, Yuri Rumyantsev wrote:
>> Hi
+03:00 Richard Henderson :
> On 10/28/2015 11:45 AM, Yuri Rumyantsev wrote:
>>
>> Hi All,
>>
>> Here is a preliminary patch to combine vectorized loop with its scalar
>> remainder, draft of which was proposed by Kirill Yukhin month ago:
>> https://gcc.gnu.org/ml/
-constant trip count.
Yuri.
2015-11-03 14:47 GMT+03:00 Richard Biener :
> On Wed, Oct 28, 2015 at 11:45 AM, Yuri Rumyantsev wrote:
>> Hi All,
>>
>> Here is a preliminary patch to combine vectorized loop with its scalar
>> remainder, draft of which was proposed by Kirill
not successful and I returned to
vectori comparison with scalar Boolean result.
ChangeLog:
2015-11-05 Yuri Rumyantsev
* config/i386/i386.c: Add conditional initialization of
PARAM_ZERO_TEST_FOR_MASK_STORE.
(ix86_expand_branch): Implement vector comparison with boolean result.
* config/i386/i386
Richard,
I tried it but 256-bit precision integer type is not yet supported.
Yuri.
2015-11-06 15:56 GMT+03:00 Richard Biener :
> On Mon, Nov 2, 2015 at 4:24 PM, Yuri Rumyantsev wrote:
>> Hi Richard,
>>
>> I've come back to this optimization and try to implement your
rd Biener :
>>> On Tue, Nov 10, 2015 at 1:48 PM, Ilya Enkovich
>>> wrote:
>>>> 2015-11-10 15:33 GMT+03:00 Richard Biener :
>>>>> On Fri, Nov 6, 2015 at 2:28 PM, Yuri Rumyantsev
>>>>> wrote:
>>>>>> Richard,
>>>>&
n Tue, Nov 3, 2015 at 1:08 PM, Yuri Rumyantsev wrote:
>>>> Richard,
>>>>
>>>> It looks like misunderstanding - we assume that for GCCv6 the simple
>>>> scheme of remainder will be used through introducing new IV :
>>>> https://gcc.
is is applied to very specialized context.
My answers are below.
2015-11-12 16:58 GMT+03:00 Richard Biener :
> On Wed, Nov 11, 2015 at 2:13 PM, Yuri Rumyantsev wrote:
>> Richard,
>>
>> What we should do to cope with this problem (structure size increasing)?
>> Shoul
Hi Richard,
Did you have a chance to look at this?
Thanks.
Yuri.
2015-11-13 13:35 GMT+03:00 Yuri Rumyantsev :
> Hi Richard,
>
> Here is updated version of the patch which 91) is in sync with trunk
> compiler and (2) contains simple cost model to estimate profitability
> of
Hi All,
Here is a patch for 481.wrf preformance regression for avx2 which is
sligthly modified mask store optimization. This transformation allows
perform unpredication for semi-hammock containing masked stores, other
words if we have a loop like
for (i=0; i
PR middle-end/68542
* config/i386/i386
15-11-27 16:45 GMT+03:00 Richard Biener :
> On Fri, Nov 13, 2015 at 11:35 AM, Yuri Rumyantsev wrote:
>> Hi Richard,
>>
>> Here is updated version of the patch which 91) is in sync with trunk
>> compiler and (2) contains simple cost model to estimate profitability
>&g
this transformation
works for "-march=bdver4" option and regression for 481.wrf must
disappear too.
Thanks.
Yuri.
2015-12-04 15:18 GMT+03:00 Richard Biener :
> On Mon, Nov 30, 2015 at 2:11 PM, Yuri Rumyantsev wrote:
>> Hi All,
>>
>> Here is a patch for 481.wrf pref
Richard!
Here is middle-end part of patch with changes proposed by you.
Is it OK for trunk?
Thanks.
Yuri.
ChangeLog:
2015-12-07 Yuri Rumyantsev
PR middle-end/68542
* fold-const.c (fold_relational_const): Add handling of vector
comparison with boolean result.
* tree-cfg.c
Hi Richard,
Here is the second part of patch.
Is it OK for trunk?
I assume that it should fix huge degradation on 481.wrf for -march=bdver4 also.
ChangeLog:
2015-12-08 Yuri Rumyantsev
PR middle-end/68542
* config/i386/i386.c (ix86_expand_branch): Implement integral vector
comparison with
tzcnt instructions.
Bootstrap and regression testing did not show any new failures.
Is it OK for trunk?
gcc/ChangeLog
2014-08-14 Yuri Rumyantsev
PR target/62011
* config/i386/i386-protos.h (ix86_avoid_false_dep_for_bm): New function
prototype.
* config/i386/i386.c (ix86_avoid_false_dep_for_bm
), %rax
addq %rax, %rcx
xorq %rax, %rax
popcntq (%rbx,%rsi,8), %rax
addq %rax, %rcx
leal 4(%rdx), %eax
addq %rcx, %r14
movq %rax, %rdx
cmpq %rax, %r12
ja .L23
2014-08-14 18:06 GMT+04:00 Ilya Enkovich :
> 2014-08-14 18:00 GMT+04:00 Alexander Monakov :
>>
>>
>> On Thu, 14 Aug
4:50 AM, Yuri Rumyantsev wrote:
>> Hi All,
>>
>> Here is a fix for PR 62011 - remove false dependency for unary
>> bit-manipulation instructions for latest BigCore chips (Sandybridge
>> and Haswell) by outputting in assembly file zeroing destination
>> reg
I checked that zeroing destination operand for unary bit-manipulation
instruction is helpful for 64- and 32-bit mode only. So the patch was
changed.
Is it OK for trunk?
gcc/ChangeLog
2014-08-15 Yuri Rumyantsev
PR target/62011
* config/i386/i386-protos.h (ix86_avoid_false_dep_for_bm): New
a chain of cond expressions is produced.
Updated patch is attached.
Any comments will be appreciated.
2014-08-15 Yuri Rumyantsev
* tree-if-conv.c (cgraph.h): Add include file to detect function clone.
(flag_force_vectorize): New variable.
(edge_predicate): New function.
(set_edge_predicat
Jakub,
Is it important to have correct value for length attribute for Big Cores?
As I new this attribute is used for code layout alignment.
2014-08-15 15:54 GMT+04:00 Jakub Jelinek :
> On Fri, Aug 15, 2014 at 03:45:33PM +0400, Yuri Rumyantsev wrote:
>> gcc/ChangeLog
>> 2
ch or you do it yourself?
Thanks.
Yuri.
2014-08-15 18:06 GMT+04:00 Uros Bizjak :
> On Fri, Aug 15, 2014 at 2:26 PM, Yuri Rumyantsev wrote:
>
>> Is it important to have correct value for length attribute for Big Cores?
>> As I new this attribute is used for code layout alignment.
Richard,
Did you have a chance to look at this?
Thanks.
2014-08-15 16:02 GMT+04:00 Yuri Rumyantsev :
> Richard!
> Here is updated patch with the following changes:
>
> 1. Any restrictions on phi-function were eliminated for extended conversion.
> 2. Put predicate for critica
le fix was designed to cure this issue - definition of
TARGET_FPMATH_DEFAULT_P macros was missed in i386/ssemath.h. Also one
missed fix was done.
Bootstrapping and regression testing were successful.
Is it OK for trunk
2013-11-20 Yuri Rumyantsev
* config/i386/i386.c (ix86_option_override_inte
Resend modified ChangeLog:
2013-11-20 Yuri Rumyantsev
PR target/57756
* config/i386/i386.c (ix86_option_override_internal): Add missed
argument prefix for 'ix86_fpmath'.
* config/i386/ssemath.h: Add missed definition of
TARGET_FPMATH_DEFAULT_P macros.
2013/11/19 H.J. Lu :
> O
Hi,
This is addendum to H.J.'s patch for SIlvermont.
Testing is in progress.
Is it OK for the trunk after testing completion?
2013-11-22 Yuri Rumyantsev
libgcc:
* config/i386/cpuinfo.c (get_intel_cpu): Add Silvermont cases.
gcc:
* config/i386/i386.c(processor_alias_table): E
Richard,
Here is updated patch (part1) for extended if conversion.
Second part of patch will be sent later.
Changelog.
2014-10-13 Yuri Rumyantsev
* tree-if-conv.c (cgraph.h): Add include file to detect function clone.
(flag_force_vectorize): New variable.
(edge_predicate): New function
are dead locally, i.e. local dead code elimination. Note that
such dead code can prevent loop vectorization.
Changelog:
2014-10-13 Yuri Rumyantsev
* tree-if-conv.c (cgraph.h): Add include file to issue error message.
(phi_has_two_different_args): New function.
(is_cond_scalar_reduction): Add
p1 & p2 | p1 & !p2.
Bootstrap and regression testing did not show any new failures.
Is it OK for trunk?
gcc/ChangeLog
2014-10-16 Yuri Rumyantsev
* tree-if-conv.c (add_to_predicate_list): Check unconditionally
that bb is always executed to early exit. Use predicate of
cd-equi
Richard,
Here is reduced patch as you requested. All your remarks have been fixed.
Could you please look at it ( I have already sent the patch with
changes in add_to_predicate_list for review).
Thanks.
Yuri.
ChangeLog
2014-10-16 Yuri Rumyantsev
(flag_force_vectorize): New variable
is
>largely responsible for the hack you're doing with having the function scoped
>static variable join_bb.
I don't have such test-case and I assume that if bb is always
executed, it is not predicated.
I also deleted "join_bb" in my changes.
Is it OK for trunk now.
asic blocks with only
critical incoming edges since support for extended predication of phi
nodes will be in next patch.
Could you please clarify your statement.
I attached modified patch.
ChangeLog:
2014-10-17 Yuri Rumyantsev
(flag_force_vectorize): New variable.
(edge_predicate): N
GMT+04:00 Richard Biener :
> On Fri, Oct 17, 2014 at 4:09 PM, Yuri Rumyantsev wrote:
>> Richard,
>>
>> I reworked the patch as you proposed, but I didn't understand what
>> did you mean by:
>>
>>>So please rework the patch so critical edges are alwa
Richard,
I did some changes in patch and ChangeLog to mark that support for
if-convert of blocks with only critical incoming edges will be added
in the future (more precise in patch.4).
Could you please review it.
Thanks.
ChangeLog:
2014-10-21 Yuri Rumyantsev
(flag_force_vectorize): New
also.
Did I miss something?
Thanks ahead.
2014-10-21 16:44 GMT+04:00 Richard Biener :
> On Tue, Oct 21, 2014 at 2:25 PM, Yuri Rumyantsev wrote:
>> Richard,
>>
>> I did some changes in patch and ChangeLog to mark that support for
>> if-convert of blocks with only crit
some minor changes in patch. But still did not get any
feedback on it. Could you please take a look also on it?
2014-10-21 17:38 GMT+04:00 Richard Biener :
> On Tue, Oct 21, 2014 at 3:20 PM, Yuri Rumyantsev wrote:
>> Richard,
>>
>> Yes, This patch does not make sense since p
ept one) to do phi-predication and it means that block
containing such phi can have only 1 critical edge.
Thanks.
Yuri.
2014-10-21 18:19 GMT+04:00 Richard Biener :
> On Tue, Oct 21, 2014 at 4:09 PM, Richard Biener
> wrote:
>> On Tue, Oct 21, 2014 at 3:58 PM, Yuri Rumyantsev wro
e know.
Thanks.
Yuri.
ChangeLog:
2014-10-24 Yuri Rumyantsev
* tree-if-conv.c (ifcvt_can_use_mask_load_store): Use
FLAG_FORCE_VECTORIZE instead of loop flag.
(if_convertible_bb_p): Allow bb has more than 2 predecessors if
FLAG_FORCE_VECTORIZE is true.
(if_convertible_bb_p): Delete check that bb
Hi All,
Here is a simple fix for 61391 - missed a check that statement basic
block is inside loop. With this fix test-case from bug is compiled
successfully.
Bootstrap and regression testing did not show any new failures.
Is it OK for trunk?
ChangeLog:
2014-06-04 Yuri Rumyantsev
PR tree
Richard.
Here is update patch with test-case and new ChangeLog.
gcc/ChangeLog
2014-06-04 Yuri Rumyantsev
PR tree-optimization/61319
* tree-if-conv.c (is_cond_scalar_reduction): Add missed check that
stmt belongs to loop.
gcc/testsuite/ChangeLog
* gcc.dg/torture/pr61319.c: New test.
2014
I converted test-case to Unix format and new patch is attached.
2014-06-04 19:14 GMT+04:00 Jakub Jelinek :
> On Wed, Jun 04, 2014 at 07:11:26PM +0400, Yuri Rumyantsev wrote:
>> Here is update patch with test-case and new ChangeLog.
>
> If approved, please avoid the DOS style line
Sorry, I sent you 'bad' patch, resend it.
2014-06-04 19:19 GMT+04:00 Yuri Rumyantsev :
> I converted test-case to Unix format and new patch is attached.
>
> 2014-06-04 19:14 GMT+04:00 Jakub Jelinek :
>> On Wed, Jun 04, 2014 at 07:11:26PM +0400, Yuri Rumyantsev wrote:
>
2014-06-18 Yuri Rumyantsev
PR tree-optimization/61518
* tree-if-conv.c (is_cond_scalar_reduction): Add missed check that
reduction var is used in reduction stmt or phi-function only.
gcc/testsuite/ChangeLog
* gcc.dg/torture/pr61518.c: New test.
patch
Description: Binary data
Hi All,
Here is a fix for PR 61576 - additional test was added that block
containing reduction statement is predecessor of block containing phi
to choose the correct condition.
Bootstrap and regression testing did not show any new failures.
Is it OK for trunk?
gcc/ChangeLog
2014-06-24 Yuri
Ping!
2014-06-24 13:37 GMT+04:00 Yuri Rumyantsev :
> Hi All,
>
> Here is a fix for PR 61576 - additional test was added that block
> containing reduction statement is predecessor of block containing phi
> to choose the correct condition.
>
> Bootstrap and regression testing
ments will be appreciated.
Yuri.
2015-05-20 Yuri Rumyantsev
* config/i386/i386.c: Include files stringpool.h and tree-ssanames.h.
(ix86_vectorize_is_zero_vector): New function.
(TARGET_VECTORIZE_IS_ZERO_VECTOR): New target macro
* doc/tm.texi.in: Add @hook TARGET_VECTORIZE_IS_ZERO_VECTOR.
* doc/tm
Hi All,
Here is a simple patch which removes restriction on outer-loop
vectorization - allow references in inner-loop with zero step. This
case was found in one important benchmark.
Bootstrap and regression testing did not show any new failures.
Is it OK for trunk.
ChangeLog:
2015-05-28 Yuri
ch is attached.
Yuri..
2015-05-28 14:39 GMT+03:00 Richard Biener :
> On Thu, May 28, 2015 at 1:00 PM, Yuri Rumyantsev wrote:
>> Hi All,
>>
>> Here is a simple patch which removes restriction on outer-loop
>> vectorization - allow references in inner-loop with zero ste
Hi Richard,
Did you have a chance to look at my updated patch?
Any comments will be appreciated.
Yuri.
2015-05-20 17:00 GMT+03:00 Yuri Rumyantsev :
> Hi All,
>
> Here is updated patch to optimize mask stores. The main goal of it is
> to avoid execution of mask store if its mask is
Hi All,
Here is a simple fix which allows duplication of outer loops to
perform peeling for number of iterations if outer loop is marked with
pragma omp simd.
Bootstrap and regression testing did not show any new failures.
Is it OK for trunk?
ChangeLog:
2015-06-08 Yuri Rumyantsev
* tree
on false edge.All MASK_STORE statements having the
same mask put into one block. Any comments will be appreciate.
ChangeLog:
2015-05-06 Yuri Rumyantsev
* cfgloop.h (has_mask_store): Add new field to struct loop.
* config/i386/i386.c: Include files stringpool.h and tree-ssanames.h
OK for trunk?
gcc/ChangeLog
2014-11-28 Yuri Rumyantsev
PR tree-optimization/63941
* tree-if-conv.c (add_to_predicate_list): Delete wrong assertion that
DOM_BB has non-true predicate, conditionally set non-true predicate
for BB.
gcc/testsuite/ChangeLog
* gcc.dg/torture/pr63941.c: New test
int will be "after labels" Note also that phi result can
have use in this block too, so we can't put predication code to the
block end.
Let me know if you still have any questions.
Best regards.
Yuri.
2014-11-28 15:43 GMT+03:00 Richard Biener :
> On Wed, Nov 12, 2014 at 2:35 PM
the bb end otherwise. I assume that critical edge
splitting is not a good decision.
Best regards.
Yuri.
2014-12-02 16:28 GMT+03:00 Richard Biener :
> On Mon, Dec 1, 2014 at 4:53 PM, Yuri Rumyantsev wrote:
>> Hi Richard,
>>
>> I resend you patch1 and patch2 with minor cha
Hi All!
Here is a simple patch to not perform instruction reordering for
selective scheduling since it uses interface of list scheduling
defined in "sched-int.h".
Bootstrap and regression testing did not show any new failures.
Is it OK for trunk?
ChangeLog:
2015-02-24 Yuri Rumyan
Hi All,
I prepared new patch which includes test-case.
I can't agree with patch proposed by Alexander since other functions
doing ready list reordering also use HID interface, so I put escape
check in ix86_sched_reorder.
Is it OK for trunk?
2015-02-25 Yuri Rumyantsev
PR target/
Here is updated patch accordingly to Alexander comments.
BTW another function using HID interface is do_reorder_for_imul and it
is called from ix86_sched_reorder.
Is it OK for trunk?
2015-02-25 13:26 GMT+03:00 Alexander Monakov :
>
>
> On Wed, 25 Feb 2015, Yuri Rumyantsev wrote:
&g
I modified patch accordingly to Alexander comments.
Is it OK for trunk?
2015-02-25 15:38 GMT+03:00 Alexander Monakov :
>
>
> On Wed, 25 Feb 2015, Yuri Rumyantsev wrote:
>
>> Here is updated patch accordingly to Alexander comments.
>>
>> BTW another f
Hi All,
Here is updated patch to fix ICE.
Is it OK for trunk?
2015-02-25 Yuri Rumyantsev
PR target/65161
* config/i386/i386.c (ix86_sched_reorder): Skip instruction reordering
for selective scheduling.
gcc/testsuite/ChangeLog
* gcc.target/i386/pr65161.c: New test.
2015-02-25 17:04 GMT+03
x27;t
consider remainder for possible vectorization of inner-loop as we can see
on the following example:
for (i = 0; i < n; i++) {
diff = 0;
for (j = 0; j < M; j++) {
diff += in[j+i]*coeff[j];
}
out[i] = diff;
}
Is it worth to fix it?
2015-06-16 Yuri Rumyantsev
hard Biener :
> On Tue, Jun 16, 2015 at 4:12 PM, Yuri Rumyantsev wrote:
>> Thanks a lot Richard for your review.
>>
>> I presented updated patch which is not gated by force_vectorize.
>> I added test on outer-loop in vect_enhance_data_refs_alignment
>> and it returns
new parameter to control such transformation.
Few redundant tests have also been deleted.
Any comments will be appreciated.
Thanks.
Yuri.
2015-06-18 Yuri Rumyantsev
* config/i386/i386.c: Include files stringpool.h and tree-ssanames.h.
(ix86_vectorize_build_zero_vector_test): New function.
(TARGET_VEC
Hi All,
Here is updated patch containing missed change in
slpeel_tree_peel_loop_to_edge which prevents renaming of exit PHI uses
in inner loop.
ChangeLog:
2015-06-29 Yuri Rumyantsev
* tree-vect-loop-manip.c (rename_variables_in_bb): Add argument
to allow renaming of PHI arguments on edges
Hi Richard,
Did you have a chance to look at this updated patch?
Thanks.
Yuri.
2015-06-18 17:32 GMT+03:00 Yuri Rumyantsev :
> Richard,
>
> Here is updated patch which does not include your proposal related to
> the target hook deletion.
> You wrote:
>> I still don't u
Hi All,
I did a change proposed by Richard - unconditionally allocate from the heap.
Bootstrap and regression testing did not show any new failures.
Is it OK for trunk?
ChangeLog
2015-01-15 Yuri Rumyantsev
PR tree-optimization/64434
* cfgexpand.c (reorder_operands): New function
failures.
Is it OK for trunk?
2015-01-23 Yuri Rumyantsev
PR tree-optimization/64746
* tree-if-conv.c (mask_exists): New function.
(predicate_mem_writes): Save created mask with given size for further
use.
(stmt_is_root_of_bool_pattern): Remove argument VAR and store to it
1 - 100 of 234 matches
Mail list logo