[Bug target/68286] [6 Regression] ICE: in wide_int_to_tree, at tree.c:1468
ienkovich at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Nov 11 12:17:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68286
Ilya Enkovich <ienkovich at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed| |2015-11-11
Assignee|unassigned at gcc dot gnu.org |ienkovich at gcc dot gnu.org
Ever confirmed|0 |1
--- Comment #2 from Ilya Enkovich <ienkovich at gcc dot gnu.org> ---
Forward propagation produces vector comparison which is not expanded as
VEC_COND_EXPR as it was before. Since we allow vector comparison not lowered
in case it can be expanded as VEC_COND_EXPR, expand should also be fixed.
Trying this patch:
diff --git a/gcc/expr.c b/gcc/expr.c
index 03936ee..bd43dc4 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -11128,7 +11128,8 @@ do_store_flag (sepops ops, rtx target, machine_mode
mode)
if (TREE_CODE (ops->type) == VECTOR_TYPE)
{
tree ifexp = build2 (ops->code, ops->type, arg0, arg1);
- if (VECTOR_BOOLEAN_TYPE_P (ops->type))
+ if (VECTOR_BOOLEAN_TYPE_P (ops->type)
+ && expand_vec_cmp_expr_p (TREE_TYPE (arg0), ops->type))
return expand_vec_cmp_expr (ops->type, ifexp, target);
else
{
More information about the Gcc-bugs
mailing list