[gcc r16-6995] Add missing expand_vec_cond_expr_p to patterns
Richard Biener
rguenth@gcc.gnu.org
Fri Jan 23 12:23:40 GMT 2026
https://gcc.gnu.org/g:c7507e395f096240ffa8fa5dfcbfcfd8c5e23bb8
commit r16-6995-gc7507e395f096240ffa8fa5dfcbfcfd8c5e23bb8
Author: Richard Biener <rguenther@suse.de>
Date: Fri Jan 23 10:02:09 2026 +0100
Add missing expand_vec_cond_expr_p to patterns
The following adds another missing check on VEC_COND_EXPR
expandability. Without a testcase.
* match.pd ((convert (vec_cond ...))): Make sure the
resulting vec_cond can be expanded.
Diff:
---
gcc/match.pd | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/gcc/match.pd b/gcc/match.pd
index 155658fe2c83..b66fd9022eb3 100644
--- a/gcc/match.pd
+++ b/gcc/match.pd
@@ -6249,7 +6249,9 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
(simplify
(convert (vec_cond:s @0 @1 @2))
(if (VECTOR_TYPE_P (type)
- && types_match (TREE_TYPE (@0), truth_type_for (type)))
+ && types_match (TREE_TYPE (@0), truth_type_for (type))
+ && (expand_vec_cond_expr_p (type, TREE_TYPE (@0))
+ || !expand_vec_cond_expr_p (TREE_TYPE (@1), TREE_TYPE (@0))))
(vec_cond @0 (convert! @1) (convert! @2))))
/* Likewise for view_convert of nop_conversions. */
More information about the Gcc-cvs
mailing list