tree-optimization/98015 - fix VEC_COND_EXPR lowering condition
This fixes the condition to match the comment and only lower VECTOR_BOOLEAN_TYPE_P VEC_COND_EXPRs. 2020-11-26 Richard Biener <rguenther@suse.de> * gimple-isel.cc (gimple_expand_vec_cond_expr): Only lower VECTOR_BOOLEAN_TYPE_P VEC_COND_EXPRs.
This commit is contained in:
parent
d24a4c8c42
commit
5c197b83e1
@ -139,10 +139,10 @@ gimple_expand_vec_cond_expr (gimple_stmt_iterator *gsi,
|
||||
Those can end up generated by folding and at least for integer mode masks
|
||||
we cannot expect vcond expanders to exist. We lower a ? b : c
|
||||
to (b & a) | (c & ~a). */
|
||||
if (!VECTOR_MODE_P (mode))
|
||||
if (VECTOR_BOOLEAN_TYPE_P (TREE_TYPE (lhs))
|
||||
&& !VECTOR_MODE_P (mode))
|
||||
{
|
||||
gcc_assert (VECTOR_BOOLEAN_TYPE_P (TREE_TYPE (lhs))
|
||||
&& types_compatible_p (TREE_TYPE (op0), TREE_TYPE (op1)));
|
||||
gcc_assert (types_compatible_p (TREE_TYPE (op0), TREE_TYPE (op1)));
|
||||
gimple_seq stmts = NULL;
|
||||
tree type = TREE_TYPE (lhs);
|
||||
location_t loc = gimple_location (stmt);
|
||||
|
Loading…
Reference in New Issue
Block a user