public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/62075] New: [4.8/4.9/4.10 Regression] Vectorizer ICE on dolphin
@ 2014-08-09 19:30 jakub at gcc dot gnu.org
  2014-08-09 19:36 ` [Bug tree-optimization/62075] " trippels at gcc dot gnu.org
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: jakub at gcc dot gnu.org @ 2014-08-09 19:30 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62075

            Bug ID: 62075
           Summary: [4.8/4.9/4.10 Regression] Vectorizer ICE on dolphin
           Product: gcc
           Version: 4.9.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jakub at gcc dot gnu.org

int a[16][2];
struct A
{
  int b[16][2];
  int c[16][1];
};

void
foo (struct A *x)
{
  int i;
  for (i = 0; i < 16; ++i)
    {
      x->b[i][0] = a[i][0];
      x->c[i][0] = 0 != a[i][0];
      x->b[i][1] = a[i][1];
    }
}

ICEs at -O3, starting with r180057 (before that we wouldn't attempt to
vectorize it):
rh1127840-a.ii: In function ‘foo’:
rh1127840-a.ii:9:1: internal compiler error: in vect_get_vec_def_for_operand,
at tree-vect-stmts.c:1451
 foo (struct A *x)
 ^
0xe10dc5 vect_get_vec_def_for_operand(tree_node*, gimple_statement_base*,
tree_node**)
    ../../gcc/tree-vect-stmts.c:1451
0xe22228 vectorizable_condition(gimple_statement_base*, gimple_stmt_iterator*,
gimple_statement_base**, tree_node*, int, _slp_tree*)
    ../../gcc/tree-vect-stmts.c:6818
0xe237d1 vect_transform_stmt(gimple_statement_base*, gimple_stmt_iterator*,
bool*, _slp_tree*, _slp_instance*)
    ../../gcc/tree-vect-stmts.c:7228
0xe37c22 vect_transform_loop(_loop_vec_info*)
    ../../gcc/tree-vect-loop.c:6079
0xe4c8fb vectorize_loops()
    ../../gcc/tree-vectorizer.c:478
0xd5086b execute
    ../../gcc/tree-ssa-loop.c:232
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
>From gcc-bugs-return-458088-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Sat Aug 09 19:36:48 2014
Return-Path: <gcc-bugs-return-458088-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 3983 invoked by alias); 9 Aug 2014 19:36:48 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 3746 invoked by uid 48); 9 Aug 2014 19:36:45 -0000
From: "trippels at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug tree-optimization/61634] [4.8/4.9/4.10 Regression] ICE in in vect_get_vec_def_for_operand, at tree-vect-stmts.c:1423
Date: Sat, 09 Aug 2014 19:36:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: tree-optimization
X-Bugzilla-Version: 4.9.0
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: trippels at gcc dot gnu.org
X-Bugzilla-Status: ASSIGNED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: rguenth at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 4.8.4
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-61634-4-Ek56piFyrR@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-61634-4@http.gcc.gnu.org/bugzilla/>
References: <bug-61634-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2014-08/txt/msg00585.txt.bz2
Content-length: 189

https://gcc.gnu.org/bugzilla/show_bug.cgi?ida634

--- Comment #5 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
*** Bug 62075 has been marked as a duplicate of this bug. ***


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug tree-optimization/62075] [4.8/4.9/4.10 Regression] Vectorizer ICE on dolphin
  2014-08-09 19:30 [Bug tree-optimization/62075] New: [4.8/4.9/4.10 Regression] Vectorizer ICE on dolphin jakub at gcc dot gnu.org
@ 2014-08-09 19:36 ` trippels at gcc dot gnu.org
  2014-08-11  9:24 ` rguenth at gcc dot gnu.org
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: trippels at gcc dot gnu.org @ 2014-08-09 19:36 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62075

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
                 CC|                            |trippels at gcc dot gnu.org
         Resolution|---                         |DUPLICATE

--- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
dup.

*** This bug has been marked as a duplicate of bug 61634 ***


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug tree-optimization/62075] [4.8/4.9/4.10 Regression] Vectorizer ICE on dolphin
  2014-08-09 19:30 [Bug tree-optimization/62075] New: [4.8/4.9/4.10 Regression] Vectorizer ICE on dolphin jakub at gcc dot gnu.org
  2014-08-09 19:36 ` [Bug tree-optimization/62075] " trippels at gcc dot gnu.org
@ 2014-08-11  9:24 ` rguenth at gcc dot gnu.org
  2014-08-11  9:55 ` rguenth at gcc dot gnu.org
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-08-11  9:24 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62075

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |NEW
   Last reconfirmed|                            |2014-08-11
         Resolution|DUPLICATE                   |---
   Target Milestone|---                         |4.8.4
     Ever confirmed|0                           |1

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
I don't think this is a dup.  Confirmed.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug tree-optimization/62075] [4.8/4.9/4.10 Regression] Vectorizer ICE on dolphin
  2014-08-09 19:30 [Bug tree-optimization/62075] New: [4.8/4.9/4.10 Regression] Vectorizer ICE on dolphin jakub at gcc dot gnu.org
  2014-08-09 19:36 ` [Bug tree-optimization/62075] " trippels at gcc dot gnu.org
  2014-08-11  9:24 ` rguenth at gcc dot gnu.org
@ 2014-08-11  9:55 ` rguenth at gcc dot gnu.org
  2014-08-11 14:49 ` rguenth at gcc dot gnu.org
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-08-11  9:55 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62075

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot gnu.org

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
The issue here is that we have a load group with one stmt feeding a condition. 
For some reason we think that we can support vectorizing

_7 = _4 != 0

with _4 being defined by a pure-SLP def.  Which looks odd - the this is clearly
not a pure SLP node!

Fix:

Index: tree-vect-slp.c
===================================================================
--- tree-vect-slp.c     (revision 213809)
+++ tree-vect-slp.c     (working copy)
@@ -1793,7 +1793,8 @@ vect_detect_hybrid_slp_stmts (slp_tree n
            && (stmt_vinfo = vinfo_for_stmt (use_stmt))
            && !STMT_SLP_TYPE (stmt_vinfo)
             && (STMT_VINFO_RELEVANT (stmt_vinfo)
-                || VECTORIZABLE_CYCLE_DEF (STMT_VINFO_DEF_TYPE (stmt_vinfo)))
+                || VECTORIZABLE_CYCLE_DEF (STMT_VINFO_DEF_TYPE (stmt_vinfo))
+               || STMT_VINFO_IN_PATTERN_P (stmt_vinfo))
            && !(gimple_code (use_stmt) == GIMPLE_PHI
                  && STMT_VINFO_DEF_TYPE (stmt_vinfo)
                   == vect_reduction_def))


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug tree-optimization/62075] [4.8/4.9/4.10 Regression] Vectorizer ICE on dolphin
  2014-08-09 19:30 [Bug tree-optimization/62075] New: [4.8/4.9/4.10 Regression] Vectorizer ICE on dolphin jakub at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2014-08-11  9:55 ` rguenth at gcc dot gnu.org
@ 2014-08-11 14:49 ` rguenth at gcc dot gnu.org
  2014-08-13 14:18 ` [Bug tree-optimization/62075] [4.8/4.9 " rguenth at gcc dot gnu.org
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-08-11 14:49 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62075

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Mon Aug 11 14:48:24 2014
New Revision: 213815

URL: https://gcc.gnu.org/viewcvs?rev=213815&root=gcc&view=rev
Log:
2014-08-11  Richard Biener  <rguenther@suse.de>

    PR tree-optimization/62075
    * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Properly
    handle uses in patterns.

    * gcc.dg/vect/pr62075.c: New testcase.

Added:
    trunk/gcc/testsuite/gcc.dg/vect/pr62075.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-vect-slp.c


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug tree-optimization/62075] [4.8/4.9 Regression] Vectorizer ICE on dolphin
  2014-08-09 19:30 [Bug tree-optimization/62075] New: [4.8/4.9/4.10 Regression] Vectorizer ICE on dolphin jakub at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2014-08-11 14:49 ` rguenth at gcc dot gnu.org
@ 2014-08-13 14:18 ` rguenth at gcc dot gnu.org
  2014-08-26 19:21 ` trippels at gcc dot gnu.org
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-08-13 14:18 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62075

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to work|                            |5.0
            Summary|[4.8/4.9/5 Regression]      |[4.8/4.9 Regression]
                   |Vectorizer ICE on dolphin   |Vectorizer ICE on dolphin

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed on trunk sofar.


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug tree-optimization/62075] [4.8/4.9 Regression] Vectorizer ICE on dolphin
  2014-08-09 19:30 [Bug tree-optimization/62075] New: [4.8/4.9/4.10 Regression] Vectorizer ICE on dolphin jakub at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2014-08-13 14:18 ` [Bug tree-optimization/62075] [4.8/4.9 " rguenth at gcc dot gnu.org
@ 2014-08-26 19:21 ` trippels at gcc dot gnu.org
  2014-09-09 11:43 ` rguenth at gcc dot gnu.org
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 10+ messages in thread
From: trippels at gcc dot gnu.org @ 2014-08-26 19:21 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62075

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |loic.blot@unix-experience.f
                   |                            |r

--- Comment #6 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
*** Bug 62271 has been marked as a duplicate of this bug. ***


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug tree-optimization/62075] [4.8/4.9 Regression] Vectorizer ICE on dolphin
  2014-08-09 19:30 [Bug tree-optimization/62075] New: [4.8/4.9/4.10 Regression] Vectorizer ICE on dolphin jakub at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2014-08-26 19:21 ` trippels at gcc dot gnu.org
@ 2014-09-09 11:43 ` rguenth at gcc dot gnu.org
  2014-09-09 13:18 ` [Bug tree-optimization/62075] [4.8 " rguenth at gcc dot gnu.org
  2014-09-09 13:19 ` rguenth at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-09-09 11:43 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62075

--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Tue Sep  9 11:42:34 2014
New Revision: 215059

URL: https://gcc.gnu.org/viewcvs?rev=215059&root=gcc&view=rev
Log:
2014-09-09  Richard Biener  <rguenther@suse.de>

    Backport from mainline
    2014-08-05  Richard Biener  <rguenther@suse.de>

    PR rtl-optimization/61672
    * emit-rtl.h (mem_attrs_eq_p): Declare.
    * emit-rtl.c (mem_attrs_eq_p): Export.  Handle NULL mem-attrs.
    * cse.c (exp_equiv_p): Use mem_attrs_eq_p.
    * cfgcleanup.c (merge_memattrs): Likewise.
    Include emit-rtl.h.

    2014-08-11  Richard Biener  <rguenther@suse.de>

    PR tree-optimization/62075
    * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Properly
    handle uses in patterns.

    * gcc.dg/vect/pr62075.c: New testcase.

    2014-08-14  Richard Biener  <rguenther@suse.de>

    PR rtl-optimization/62079
    * recog.c (peephole2_optimize): If peep2_do_cleanup_cfg
    run cleanup_cfg.

    * g++.dg/pr62079.C: New testcase.


    2014-08-26  Richard Biener  <rguenther@suse.de>

    PR tree-optimization/62175
    * tree-ssa-loop-niter.c (expand_simple_operations): Do not
    expand possibly trapping operations.

    * g++.dg/torture/pr62175.C: New testcase.

Added:
    branches/gcc-4_9-branch/gcc/testsuite/g++.dg/pr62079.C
    branches/gcc-4_9-branch/gcc/testsuite/g++.dg/torture/pr62175.C
    branches/gcc-4_9-branch/gcc/testsuite/gcc.dg/vect/pr62075.c
Modified:
    branches/gcc-4_9-branch/gcc/ChangeLog
    branches/gcc-4_9-branch/gcc/cfgcleanup.c
    branches/gcc-4_9-branch/gcc/cse.c
    branches/gcc-4_9-branch/gcc/emit-rtl.c
    branches/gcc-4_9-branch/gcc/recog.c
    branches/gcc-4_9-branch/gcc/testsuite/ChangeLog
    branches/gcc-4_9-branch/gcc/tree-ssa-loop-niter.c
    branches/gcc-4_9-branch/gcc/tree-vect-slp.c


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug tree-optimization/62075] [4.8 Regression] Vectorizer ICE on dolphin
  2014-08-09 19:30 [Bug tree-optimization/62075] New: [4.8/4.9/4.10 Regression] Vectorizer ICE on dolphin jakub at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2014-09-09 11:43 ` rguenth at gcc dot gnu.org
@ 2014-09-09 13:18 ` rguenth at gcc dot gnu.org
  2014-09-09 13:19 ` rguenth at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-09-09 13:18 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62075

--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> ---
Author: rguenth
Date: Tue Sep  9 13:17:51 2014
New Revision: 215073

URL: https://gcc.gnu.org/viewcvs?rev=215073&root=gcc&view=rev
Log:
2014-09-09  Richard Biener  <rguenther@suse.de>

    Backport from mainline
    2014-05-05  Richard Biener  <rguenther@suse.de>

    PR middle-end/61010
    * fold-const.c (fold_binary_loc): Consistently avoid
    canonicalizing X & CST away from a CST that is the mask
    of a mode.

    * gcc.dg/torture/pr61010.c: New testcase.

    2014-05-28  Richard Biener  <rguenther@suse.de>

    PR middle-end/61045
    * fold-const.c (fold_comparison): When folding
    X +- C1 CMP Y +- C2 to X CMP Y +- C2 +- C1 also ensure
    the sign of the remaining constant operand stays the same.

    * gcc.dg/pr61045.c: New testcase.

    2014-08-11  Richard Biener  <rguenther@suse.de>

    PR tree-optimization/62075
    * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Properly
    handle uses in patterns.

    * gcc.dg/vect/pr62075.c: New testcase.

Added:
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/pr61045.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/torture/pr61010.c
    branches/gcc-4_8-branch/gcc/testsuite/gcc.dg/vect/pr62075.c
Modified:
    branches/gcc-4_8-branch/gcc/ChangeLog
    branches/gcc-4_8-branch/gcc/fold-const.c
    branches/gcc-4_8-branch/gcc/testsuite/ChangeLog
    branches/gcc-4_8-branch/gcc/tree-vect-slp.c


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [Bug tree-optimization/62075] [4.8 Regression] Vectorizer ICE on dolphin
  2014-08-09 19:30 [Bug tree-optimization/62075] New: [4.8/4.9/4.10 Regression] Vectorizer ICE on dolphin jakub at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2014-09-09 13:18 ` [Bug tree-optimization/62075] [4.8 " rguenth at gcc dot gnu.org
@ 2014-09-09 13:19 ` rguenth at gcc dot gnu.org
  8 siblings, 0 replies; 10+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-09-09 13:19 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62075

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
      Known to work|                            |4.8.4
         Resolution|---                         |FIXED
      Known to fail|                            |4.8.3

--- Comment #9 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed.


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2014-09-09 13:19 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-08-09 19:30 [Bug tree-optimization/62075] New: [4.8/4.9/4.10 Regression] Vectorizer ICE on dolphin jakub at gcc dot gnu.org
2014-08-09 19:36 ` [Bug tree-optimization/62075] " trippels at gcc dot gnu.org
2014-08-11  9:24 ` rguenth at gcc dot gnu.org
2014-08-11  9:55 ` rguenth at gcc dot gnu.org
2014-08-11 14:49 ` rguenth at gcc dot gnu.org
2014-08-13 14:18 ` [Bug tree-optimization/62075] [4.8/4.9 " rguenth at gcc dot gnu.org
2014-08-26 19:21 ` trippels at gcc dot gnu.org
2014-09-09 11:43 ` rguenth at gcc dot gnu.org
2014-09-09 13:18 ` [Bug tree-optimization/62075] [4.8 " rguenth at gcc dot gnu.org
2014-09-09 13:19 ` rguenth at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).