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).