[Bug tree-optimization/67800] [6 Regression] Missed vectorization opportunity on x86 (DOT_PROD_EXPR in non-reduction)

2016-02-28 Thread afomin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67800

afomin at gcc dot gnu.org changed:

   What|Removed |Added

 Status|RESOLVED|CLOSED
 CC||afomin at gcc dot gnu.org

--- Comment #10 from afomin at gcc dot gnu.org ---
Thanks, closing it.

[Bug tree-optimization/67800] [6 Regression] Missed vectorization opportunity on x86 (DOT_PROD_EXPR in non-reduction)

2015-12-03 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67800

Richard Biener  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #9 from Richard Biener  ---
Fixed.

[Bug tree-optimization/67800] [6 Regression] Missed vectorization opportunity on x86 (DOT_PROD_EXPR in non-reduction)

2015-12-03 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67800

--- Comment #8 from Richard Biener  ---
Author: rguenth
Date: Thu Dec  3 08:43:22 2015
New Revision: 231221

URL: https://gcc.gnu.org/viewcvs?rev=231221=gcc=rev
Log:
2015-12-03  Richard Biener  

PR tree-optimization/67800
PR tree-optimization/68333
* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Restore
restriction to reduction contexts but allow SLP reductions as well.
(vect_recog_sad_pattern): Likewise.
(vect_recog_widen_sum_pattern): Likewise.

* gcc.target/i386/vect-pr67800.c: New testcase.

Added:
trunk/gcc/testsuite/gcc.target/i386/vect-pr67800.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-vect-patterns.c

[Bug tree-optimization/67800] [6 Regression] Missed vectorization opportunity on x86 (DOT_PROD_EXPR in non-reduction)

2015-12-02 Thread rguenther at suse dot de
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67800

--- Comment #6 from rguenther at suse dot de  ---
On Tue, 1 Dec 2015, afomin.mailbox at gmail dot com wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67800
> 
> --- Comment #5 from Alexander Fomin  ---
> Richard, are there any updates on this?
> 
> If BB vectorization support for reductions does not fit your plans for stage3,
> we'd like to fix the regression by doing a partial revert described above.

I will fix this PR in stage3 by either improving vectoirzation here
or partially reverting the commit.  Stay tuned.

[Bug tree-optimization/67800] [6 Regression] Missed vectorization opportunity on x86 (DOT_PROD_EXPR in non-reduction)

2015-12-02 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67800

--- Comment #7 from Richard Biener  ---
Ah, so reverting these changes causes

FAIL: gcc.dg/vect/slp-reduc-sad.c scan-tree-dump vect "vectorizing stmts using
SLP"
FAIL: gcc.dg/vect/slp-reduc-sad.c scan-tree-dump-times vect "vectorized 1
loops" 1

with similar testcases using a dot product or widening sum pattern would
need to be added.  Note that the above are in reduction context but only
the first stmt of the reduction chain is marked as such.

Thus we need to amend the check with ! STMT_VINFO_GROUP_FIRST_ELEMENT
(stmt_vinfo).

Testing that now.

[Bug tree-optimization/67800] [6 Regression] Missed vectorization opportunity on x86 (DOT_PROD_EXPR in non-reduction)

2015-12-01 Thread afomin.mailbox at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67800

--- Comment #5 from Alexander Fomin  ---
Richard, are there any updates on this?

If BB vectorization support for reductions does not fit your plans for stage3,
we'd like to fix the regression by doing a partial revert described above.

[Bug tree-optimization/67800] [6 Regression] Missed vectorization opportunity on x86

2015-10-29 Thread izamyatin at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67800

--- Comment #3 from Igor Zamyatin  ---
Richard, do you have any plans regarding this?


[Bug tree-optimization/67800] [6 Regression] Missed vectorization opportunity on x86

2015-10-29 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67800

Richard Biener  changed:

   What|Removed |Added

 Depends on||67612

--- Comment #4 from Richard Biener  ---
The other bug was PR67612.  I have a half-way started DOT_PPROD (and SAD_EXPR)
support in vectorizable_conversion but it's not trivial as it doesn't fit there
very.  I've got distracted meanwhile.

A way to fix the regressions (but not PR67612) is to revert the reduction
check parts of

2015-05-22  Richard Biener  

* tree-vect-patterns.c (vect_recog_dot_prod_pattern): Replace
assert with guard, remove check on detected reduction.
(vect_recog_sad_pattern): Likewise.
(vect_recog_widen_sum_pattern): Likewise.

which was preparation for BB vectorization support for reductions (which
I didn't get to finish).

But I'd rather have non-reduction support for DOT_PROD and SAD_EXPR and hope
to get to that during stage3.

If you can beat me to it more power to you ;)


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67612
[Bug 67612] Unable to vectorize DOT_PROD_EXPR (PMADDWD?)


[Bug tree-optimization/67800] [6 Regression] Missed vectorization opportunity on x86

2015-10-02 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67800

Richard Biener  changed:

   What|Removed |Added

   Keywords||missed-optimization
 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2015-10-02
 Blocks||53947
   Assignee|unassigned at gcc dot gnu.org  |rguenth at gcc dot 
gnu.org
   Target Milestone|--- |6.0
 Ever confirmed|0   |1

--- Comment #2 from Richard Biener  ---
Mine.  I think this particular issue was also noticed in another bug.


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53947
[Bug 53947] [meta-bug] vectorizer missed-optimizations


[Bug tree-optimization/67800] [6 Regression] Missed vectorization opportunity on x86

2015-10-01 Thread afomin.mailbox at gmail dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67800

--- Comment #1 from Alexander Fomin  ---
Nota bene: -fPIE -pie options can be ommited.