public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/56695] New: ICE in expand_vec_cond_expr, at optabs.c:6751
@ 2013-03-23 10:59 antoine.balestrat at gmail dot com
2013-03-23 12:12 ` [Bug tree-optimization/56695] " mpolacek at gcc dot gnu.org
` (13 more replies)
0 siblings, 14 replies; 15+ messages in thread
From: antoine.balestrat at gmail dot com @ 2013-03-23 10:59 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56695
Bug #: 56695
Summary: ICE in expand_vec_cond_expr, at optabs.c:6751
Classification: Unclassified
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: antoine.balestrat@gmail.com
Using GCC 4.9.0 as of 20130323 :
$ cat opt.c
int a, b, i;
void f(void)
{
for(i = 0; i < 8; ++i)
a |= !(i |= b %= 1);
}
$ xgcc -O3 -w opt.c
opt.c: In function ‘f’:
opt.c:6:11: internal compiler error: in expand_vec_cond_expr, at optabs.c:6751
a |= !(i |= b %= 1);
^
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
>From gcc-bugs-return-418193-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Sat Mar 23 11:04:51 2013
Return-Path: <gcc-bugs-return-418193-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 3784 invoked by alias); 23 Mar 2013 11:04:51 -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 3731 invoked by uid 48); 23 Mar 2013 11:04:40 -0000
From: "paolo.carlini at oracle dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c++/56646] [4.7/4.8/4.9 Regression] ICE: in cp_parser_late_return_type_opt, at cp/parser.c:16970
Date: Sat, 23 Mar 2013 11:04:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: c++
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: paolo.carlini at oracle dot com
X-Bugzilla-Status: RESOLVED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: 4.7.3
X-Bugzilla-Changed-Fields: Status Known to work Resolution Known to fail
Message-ID: <bug-56646-4-s5uYwRy07G@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-56646-4@http.gcc.gnu.org/bugzilla/>
References: <bug-56646-4@http.gcc.gnu.org/bugzilla/>
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
Content-Type: text/plain; charset="UTF-8"
MIME-Version: 1.0
X-SW-Source: 2013-03/txt/msg01634.txt.bz2
Content-length: 628
http://gcc.gnu.org/bugzilla/show_bug.cgi?idV646
Paolo Carlini <paolo.carlini at oracle dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Known to work| |4.7.3, 4.8.1, 4.9.0
Resolution| |FIXED
Known to fail| |4.7.2, 4.8.0
--- Comment #3 from Paolo Carlini <paolo.carlini at oracle dot com> 2013-03-23 11:04:39 UTC ---
Fixed for 4.7.3, 4.8.1, 4.9.0.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug tree-optimization/56695] ICE in expand_vec_cond_expr, at optabs.c:6751
2013-03-23 10:59 [Bug tree-optimization/56695] New: ICE in expand_vec_cond_expr, at optabs.c:6751 antoine.balestrat at gmail dot com
@ 2013-03-23 12:12 ` mpolacek at gcc dot gnu.org
2013-03-23 17:04 ` glisse at gcc dot gnu.org
` (12 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2013-03-23 12:12 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56695
Marek Polacek <mpolacek at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2013-03-23
CC| |mpolacek at gcc dot gnu.org
Known to work| |4.7.3
Ever Confirmed|0 |1
--- Comment #1 from Marek Polacek <mpolacek at gcc dot gnu.org> 2013-03-23 12:12:29 UTC ---
Confirmed.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug tree-optimization/56695] ICE in expand_vec_cond_expr, at optabs.c:6751
2013-03-23 10:59 [Bug tree-optimization/56695] New: ICE in expand_vec_cond_expr, at optabs.c:6751 antoine.balestrat at gmail dot com
2013-03-23 12:12 ` [Bug tree-optimization/56695] " mpolacek at gcc dot gnu.org
@ 2013-03-23 17:04 ` glisse at gcc dot gnu.org
2013-03-23 17:06 ` glisse at gcc dot gnu.org
` (11 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: glisse at gcc dot gnu.org @ 2013-03-23 17:04 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56695
Marc Glisse <glisse at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |glisse at gcc dot gnu.org
--- Comment #2 from Marc Glisse <glisse at gcc dot gnu.org> 2013-03-23 17:04:47 UTC ---
In tree-vect-stmts.c:
if (!INTEGRAL_TYPE_P (TREE_TYPE (vectype)))
{
unsigned int prec = GET_MODE_BITSIZE (TYPE_MODE (TREE_TYPE (vectype)));
tree cmp_type = build_nonstandard_integer_type (prec, 1);
vec_cmp_type = get_same_sized_vectype (cmp_type, vectype);
if (vec_cmp_type == NULL_TREE)
return false;
}
It doesn't check if vectype is signed, and anyway it explicitly asks for an
unsigned type. Changing those 2 things seems to help. I am away next week,
can't try a patch now.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug tree-optimization/56695] ICE in expand_vec_cond_expr, at optabs.c:6751
2013-03-23 10:59 [Bug tree-optimization/56695] New: ICE in expand_vec_cond_expr, at optabs.c:6751 antoine.balestrat at gmail dot com
2013-03-23 12:12 ` [Bug tree-optimization/56695] " mpolacek at gcc dot gnu.org
2013-03-23 17:04 ` glisse at gcc dot gnu.org
@ 2013-03-23 17:06 ` glisse at gcc dot gnu.org
2013-03-25 10:24 ` [Bug tree-optimization/56695] [4.9 Regression] " rguenth at gcc dot gnu.org
` (10 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: glisse at gcc dot gnu.org @ 2013-03-23 17:06 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56695
--- Comment #3 from Marc Glisse <glisse at gcc dot gnu.org> 2013-03-23 17:06:30 UTC ---
In any case, it would be good to add some checks on the first argument of
VEC_COND_EXPR to the verifier, so the problem is detected earlier than expand.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug tree-optimization/56695] [4.9 Regression] ICE in expand_vec_cond_expr, at optabs.c:6751
2013-03-23 10:59 [Bug tree-optimization/56695] New: ICE in expand_vec_cond_expr, at optabs.c:6751 antoine.balestrat at gmail dot com
` (2 preceding siblings ...)
2013-03-23 17:06 ` glisse at gcc dot gnu.org
@ 2013-03-25 10:24 ` rguenth at gcc dot gnu.org
2013-03-26 15:20 ` mpolacek at gcc dot gnu.org
` (9 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-03-25 10:24 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56695
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to work| |4.8.0
Target Milestone|--- |4.9.0
Summary|ICE in |[4.9 Regression] ICE in
|expand_vec_cond_expr, at |expand_vec_cond_expr, at
|optabs.c:6751 |optabs.c:6751
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> 2013-03-25 10:23:52 UTC ---
Seems to work with 4.8.0 as well.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug tree-optimization/56695] [4.9 Regression] ICE in expand_vec_cond_expr, at optabs.c:6751
2013-03-23 10:59 [Bug tree-optimization/56695] New: ICE in expand_vec_cond_expr, at optabs.c:6751 antoine.balestrat at gmail dot com
` (3 preceding siblings ...)
2013-03-25 10:24 ` [Bug tree-optimization/56695] [4.9 Regression] " rguenth at gcc dot gnu.org
@ 2013-03-26 15:20 ` mpolacek at gcc dot gnu.org
2013-03-26 16:03 ` glisse at gcc dot gnu.org
` (8 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2013-03-26 15:20 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56695
--- Comment #5 from Marek Polacek <mpolacek at gcc dot gnu.org> 2013-03-26 15:20:34 UTC ---
vectorizable_condition gets this stmt:
patt_10 = i.1_17 == 0 ? 1 : 0;
We can't do just
if (TYPE_UNSIGNED (TREE_TYPE (vectype)))
return false;
which quashes the ICE because that prevents also vectorizing a lot of other
things ...
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug tree-optimization/56695] [4.9 Regression] ICE in expand_vec_cond_expr, at optabs.c:6751
2013-03-23 10:59 [Bug tree-optimization/56695] New: ICE in expand_vec_cond_expr, at optabs.c:6751 antoine.balestrat at gmail dot com
` (4 preceding siblings ...)
2013-03-26 15:20 ` mpolacek at gcc dot gnu.org
@ 2013-03-26 16:03 ` glisse at gcc dot gnu.org
2013-03-26 16:20 ` mpolacek at gcc dot gnu.org
` (7 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: glisse at gcc dot gnu.org @ 2013-03-26 16:03 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56695
--- Comment #6 from Marc Glisse <glisse at gcc dot gnu.org> 2013-03-26 16:03:04 UTC ---
Created attachment 29733
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29733
Untested patch
I was thinking about something like this. In 4.8, I added vec_cond_expr
expansion when the condition is not a comparison but a signed integer. I didn't
notice that the vectorizer was generating comparisons with an unsigned result.
In 4.9 I added some folding of vec_cond_expr, which ended up folding the
comparison to a constant (still unsigned) and now cannot be expanded. What I do
in the patch is make the vectorizer generate a signed result. An alternative
would be to change the decision that vec_cond_expr expects a signed first
argument.
Note as well that we reach expand with a vec_cond_expr with 3 constant
arguments, so there is a missed optimization there.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug tree-optimization/56695] [4.9 Regression] ICE in expand_vec_cond_expr, at optabs.c:6751
2013-03-23 10:59 [Bug tree-optimization/56695] New: ICE in expand_vec_cond_expr, at optabs.c:6751 antoine.balestrat at gmail dot com
` (5 preceding siblings ...)
2013-03-26 16:03 ` glisse at gcc dot gnu.org
@ 2013-03-26 16:20 ` mpolacek at gcc dot gnu.org
2013-03-27 9:54 ` rguenth at gcc dot gnu.org
` (6 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2013-03-26 16:20 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56695
--- Comment #7 from Marek Polacek <mpolacek at gcc dot gnu.org> 2013-03-26 16:20:39 UTC ---
(In reply to comment #6)
> Created attachment 29733 [details]
> Untested patch
>
> I was thinking about something like this. In 4.8, I added vec_cond_expr
> expansion when the condition is not a comparison but a signed integer. I didn't
> notice that the vectorizer was generating comparisons with an unsigned result.
> In 4.9 I added some folding of vec_cond_expr, which ended up folding the
> comparison to a constant (still unsigned) and now cannot be expanded. What I do
> in the patch is make the vectorizer generate a signed result. An alternative
> would be to change the decision that vec_cond_expr expects a signed first
> argument.
Ah, yes, that's nice. Thanks for explanation. BTW, it passes make
RUNTESTFLAGS=vect.exp check-gcc.
> Note as well that we reach expand with a vec_cond_expr with 3 constant
> arguments, so there is a missed optimization there.
Yep. Maybe something for fold_ternary?
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug tree-optimization/56695] [4.9 Regression] ICE in expand_vec_cond_expr, at optabs.c:6751
2013-03-23 10:59 [Bug tree-optimization/56695] New: ICE in expand_vec_cond_expr, at optabs.c:6751 antoine.balestrat at gmail dot com
` (6 preceding siblings ...)
2013-03-26 16:20 ` mpolacek at gcc dot gnu.org
@ 2013-03-27 9:54 ` rguenth at gcc dot gnu.org
2013-03-27 9:57 ` rguenth at gcc dot gnu.org
` (5 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-03-27 9:54 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56695
--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> 2013-03-27 09:53:59 UTC ---
(In reply to comment #2)
> In tree-vect-stmts.c:
>
> if (!INTEGRAL_TYPE_P (TREE_TYPE (vectype)))
> {
> unsigned int prec = GET_MODE_BITSIZE (TYPE_MODE (TREE_TYPE (vectype)));
> tree cmp_type = build_nonstandard_integer_type (prec, 1);
> vec_cmp_type = get_same_sized_vectype (cmp_type, vectype);
> if (vec_cmp_type == NULL_TREE)
> return false;
> }
>
> It doesn't check if vectype is signed, and anyway it explicitly asks for an
> unsigned type. Changing those 2 things seems to help. I am away next week,
> can't try a patch now.
vectype is the vector type of the COND_EXPR result - it should obviously
use the signedness of the scalar condition operands.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug tree-optimization/56695] [4.9 Regression] ICE in expand_vec_cond_expr, at optabs.c:6751
2013-03-23 10:59 [Bug tree-optimization/56695] New: ICE in expand_vec_cond_expr, at optabs.c:6751 antoine.balestrat at gmail dot com
` (7 preceding siblings ...)
2013-03-27 9:54 ` rguenth at gcc dot gnu.org
@ 2013-03-27 9:57 ` rguenth at gcc dot gnu.org
2013-03-27 10:08 ` rguenth at gcc dot gnu.org
` (4 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-03-27 9:57 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56695
--- Comment #9 from Richard Biener <rguenth at gcc dot gnu.org> 2013-03-27 09:57:41 UTC ---
That said, it should look like, unconditionally(!)
unsigned int prec = GET_MODE_BITSIZE (TYPE_MODE (TREE_TYPE (vectype)));
tree cmp_type = build_nonstandard_integer_type (prec,
TYPE_UNSIGNED (TREE_OPERAND (cond_expr, 0)));
vec_cmp_type = get_same_sized_vectype (cmp_type, vectype);
if (vec_cmp_type == NULL_TREE)
return false;
whether the result is integral or not doesn't matter. You can still have
foo_signed = uns1 < uns2 ? bar_signed : bar2_signed;
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug tree-optimization/56695] [4.9 Regression] ICE in expand_vec_cond_expr, at optabs.c:6751
2013-03-23 10:59 [Bug tree-optimization/56695] New: ICE in expand_vec_cond_expr, at optabs.c:6751 antoine.balestrat at gmail dot com
` (8 preceding siblings ...)
2013-03-27 9:57 ` rguenth at gcc dot gnu.org
@ 2013-03-27 10:08 ` rguenth at gcc dot gnu.org
2013-03-27 10:10 ` rguenth at gcc dot gnu.org
` (3 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-03-27 10:08 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56695
--- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> 2013-03-27 10:08:02 UTC ---
(In reply to comment #9)
> That said, it should look like, unconditionally(!)
>
> unsigned int prec = GET_MODE_BITSIZE (TYPE_MODE (TREE_TYPE (vectype)));
> tree cmp_type = build_nonstandard_integer_type (prec,
> TYPE_UNSIGNED (TREE_OPERAND (cond_expr, 0)));
> vec_cmp_type = get_same_sized_vectype (cmp_type, vectype);
> if (vec_cmp_type == NULL_TREE)
> return false;
>
> whether the result is integral or not doesn't matter. You can still have
>
> foo_signed = uns1 < uns2 ? bar_signed : bar2_signed;
Err, it's just the vector comparison result (boolean mask) type. So
if (!INTEGRAL_TYPE_P (TREE_TYPE (vectype))
|| !TYPE_UNSIGNED (TREE_TYPE (vectype)))
{
unsigned int prec = GET_MODE_BITSIZE (TYPE_MODE (TREE_TYPE (vectype)));
tree cmp_type = build_nonstandard_integer_type (prec, 1);
vec_cmp_type = get_same_sized_vectype (cmp_type, vectype);
if (vec_cmp_type == NULL_TREE)
return false;
}
or simply unconditionally use an unsigned mask type:
unsigned int prec = GET_MODE_BITSIZE (TYPE_MODE (TREE_TYPE (vectype)));
tree cmp_type = build_nonstandard_integer_type (prec, 1);
vec_cmp_type = get_same_sized_vectype (cmp_type, vectype);
if (vec_cmp_type == NULL_TREE)
return false;
and remove the initialization of vec_cmp_type earlier.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug tree-optimization/56695] [4.9 Regression] ICE in expand_vec_cond_expr, at optabs.c:6751
2013-03-23 10:59 [Bug tree-optimization/56695] New: ICE in expand_vec_cond_expr, at optabs.c:6751 antoine.balestrat at gmail dot com
` (9 preceding siblings ...)
2013-03-27 10:08 ` rguenth at gcc dot gnu.org
@ 2013-03-27 10:10 ` rguenth at gcc dot gnu.org
2013-03-27 10:52 ` mpolacek at gcc dot gnu.org
` (2 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: rguenth at gcc dot gnu.org @ 2013-03-27 10:10 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56695
--- Comment #11 from Richard Biener <rguenth at gcc dot gnu.org> 2013-03-27 10:10:06 UTC ---
And in tree-cfg.c:verify_gimple_comparison properly establish rules for the
signedness of the vector comparison result.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug tree-optimization/56695] [4.9 Regression] ICE in expand_vec_cond_expr, at optabs.c:6751
2013-03-23 10:59 [Bug tree-optimization/56695] New: ICE in expand_vec_cond_expr, at optabs.c:6751 antoine.balestrat at gmail dot com
` (10 preceding siblings ...)
2013-03-27 10:10 ` rguenth at gcc dot gnu.org
@ 2013-03-27 10:52 ` mpolacek at gcc dot gnu.org
2013-03-28 11:15 ` mpolacek at gcc dot gnu.org
2013-03-28 11:15 ` mpolacek at gcc dot gnu.org
13 siblings, 0 replies; 15+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2013-03-27 10:52 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56695
Marek Polacek <mpolacek at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
AssignedTo|unassigned at gcc dot |mpolacek at gcc dot gnu.org
|gnu.org |
--- Comment #12 from Marek Polacek <mpolacek at gcc dot gnu.org> 2013-03-27 10:52:06 UTC ---
Let me try something.
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug tree-optimization/56695] [4.9 Regression] ICE in expand_vec_cond_expr, at optabs.c:6751
2013-03-23 10:59 [Bug tree-optimization/56695] New: ICE in expand_vec_cond_expr, at optabs.c:6751 antoine.balestrat at gmail dot com
` (11 preceding siblings ...)
2013-03-27 10:52 ` mpolacek at gcc dot gnu.org
@ 2013-03-28 11:15 ` mpolacek at gcc dot gnu.org
2013-03-28 11:15 ` mpolacek at gcc dot gnu.org
13 siblings, 0 replies; 15+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2013-03-28 11:15 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56695
--- Comment #13 from Marek Polacek <mpolacek at gcc dot gnu.org> 2013-03-28 11:15:20 UTC ---
Author: mpolacek
Date: Thu Mar 28 11:14:44 2013
New Revision: 197192
URL: http://gcc.gnu.org/viewcvs?rev=197192&root=gcc&view=rev
Log:
PR tree-optimization/56695
* tree-vect-stmts.c (vectorizable_condition): Unconditionally
build signed result of a vector comparison.
* tree-cfg.c (verify_gimple_comparison): Check that a result
of a vector comparison has signed type.
Added:
trunk/gcc/testsuite/gcc.dg/vect/pr56695.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-cfg.c
trunk/gcc/tree-vect-stmts.c
^ permalink raw reply [flat|nested] 15+ messages in thread
* [Bug tree-optimization/56695] [4.9 Regression] ICE in expand_vec_cond_expr, at optabs.c:6751
2013-03-23 10:59 [Bug tree-optimization/56695] New: ICE in expand_vec_cond_expr, at optabs.c:6751 antoine.balestrat at gmail dot com
` (12 preceding siblings ...)
2013-03-28 11:15 ` mpolacek at gcc dot gnu.org
@ 2013-03-28 11:15 ` mpolacek at gcc dot gnu.org
13 siblings, 0 replies; 15+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2013-03-28 11:15 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56695
Marek Polacek <mpolacek at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
--- Comment #14 from Marek Polacek <mpolacek at gcc dot gnu.org> 2013-03-28 11:15:35 UTC ---
Fixed.
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2013-03-28 11:15 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-03-23 10:59 [Bug tree-optimization/56695] New: ICE in expand_vec_cond_expr, at optabs.c:6751 antoine.balestrat at gmail dot com
2013-03-23 12:12 ` [Bug tree-optimization/56695] " mpolacek at gcc dot gnu.org
2013-03-23 17:04 ` glisse at gcc dot gnu.org
2013-03-23 17:06 ` glisse at gcc dot gnu.org
2013-03-25 10:24 ` [Bug tree-optimization/56695] [4.9 Regression] " rguenth at gcc dot gnu.org
2013-03-26 15:20 ` mpolacek at gcc dot gnu.org
2013-03-26 16:03 ` glisse at gcc dot gnu.org
2013-03-26 16:20 ` mpolacek at gcc dot gnu.org
2013-03-27 9:54 ` rguenth at gcc dot gnu.org
2013-03-27 9:57 ` rguenth at gcc dot gnu.org
2013-03-27 10:08 ` rguenth at gcc dot gnu.org
2013-03-27 10:10 ` rguenth at gcc dot gnu.org
2013-03-27 10:52 ` mpolacek at gcc dot gnu.org
2013-03-28 11:15 ` mpolacek at gcc dot gnu.org
2013-03-28 11:15 ` mpolacek 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).