[Bug tree-optimization/68413] [6 Regression] internal compiler error: in vect_transform_stmt
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
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
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
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,