[Bug tree-optimization/68413] [6 Regression] internal compiler error: in vect_transform_stmt

2015-11-19 Thread alan.hayward at arm dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68413

Alan Hayward  changed:

   What|Removed |Added

 CC||alan.hayward at arm dot com

--- Comment #2 from Alan Hayward  ---
The the first call to vectorizable_condition (the check stage) succeeded, but
the second call (the build stage) failed, causing an assert.

Reproduced with head r230297

When updated to latest head, r230596 , issue is no longer present.

Looking at changes in the vectorisor, there have been some vector bool changes,
r230309. The vector bool work previously clashed with my work, so I suspect
those changes have fixed it.

[Bug middle-end/65947] Vectorizer misses conditional assignment of constant

2015-11-06 Thread alan.hayward at arm dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65947

Alan Hayward  changed:

   What|Removed |Added

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

--- Comment #8 from Alan Hayward  ---
Work with patch below plus the additional fix up patch for the compiler error.

[Bug tree-optimization/53947] [meta-bug] vectorizer missed-optimizations

2015-11-06 Thread alan.hayward at arm dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53947
Bug 53947 depends on bug 65947, which changed state.

Bug 65947 Summary: Vectorizer misses conditional assignment of constant
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65947

   What|Removed |Added

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

[Bug middle-end/65947] Vectorizer misses conditional assignment of constant

2015-10-26 Thread alan.hayward at arm dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65947

--- Comment #7 from Alan Hayward  ---
(In reply to Andreas Schwab from comment #6)
> FAIL: gcc.dg/vect/pr65947-1.c (internal compiler error)
> FAIL: gcc.dg/vect/pr65947-1.c (test for excess errors)
> Excess errors:
> /opt/gcc/gcc-20151024/gcc/testsuite/gcc.dg/vect/pr65947-1.c:10:1: error:
> bogus comparison result type
> vector(4) signed int
> _35 = _44 == _34;
> /opt/gcc/gcc-20151024/gcc/testsuite/gcc.dg/vect/pr65947-1.c:10:1: error: the
> first argument of a VEC_COND_EXPR must be of a boolean vector type of the
> same number of elements as the result
> vector(4) int
> vector(4) signed int
> _36 = VEC_COND_EXPR <_35, vect_last_1.9_31, _32>;
> /opt/gcc/gcc-20151024/gcc/testsuite/gcc.dg/vect/pr65947-1.c:10:1: internal
> compiler error: verify_gimple failed
> 0xb27adf verify_gimple_in_cfg(function*, bool)
> ../../gcc/tree-cfg.c:5093
> 0xa1d47f execute_function_todo
> ../../gcc/passes.c:1968
> 0xa1df1f execute_todo
> ../../gcc/passes.c:2025

VEC_COND_EXPR's have been changed to use boolean vectors for arg1. I'll submit
a small patch ASAP,