[Bug fortran/91003] [10 Regression] ICE when compiling LAPACK (CGEGV) with optimization
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Nov 29 13:34:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91003
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rsandifo at gcc dot gnu.org
--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
So this is another "boolean" case. In vect_get_constant_vectors we run into
/* ??? SLP analysis should compute the vector type for the
constant / invariant and store it in the SLP node. */
tree op = op_node->ops[0];
/* Check if vector type is a boolean vector. */
tree stmt_vectype = STMT_VINFO_VECTYPE (stmt_vinfo);
if (VECT_SCALAR_BOOLEAN_TYPE_P (TREE_TYPE (op))
&& vect_mask_constant_operand_p (stmt_vinfo))
vector_type = truth_type_for (stmt_vectype);
else
vector_type = get_vectype_for_scalar_type (vinfo, TREE_TYPE (op), op_node);
for
h_18 = _129 ? 1 : 0;
with unsigned boolean (kind==4) typed result/then/else values (SImode).
IIRC I couldn't simply remove this and rely on get_vectype_for_scalar_type
to do the right thing (TM) in general. Plus we don't have a stmt-info
for the constant operands (but we do now have an SLP node for them).
I hope Richards patches improve things here but I don't remember them
touching this particular place.
More information about the Gcc-bugs
mailing list