https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95633

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
The first one is EXTRACT_LAST_REDUCTION where the ICE is fixed with the
following
which looks like a simple omission in the causing patch.

diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c
index cdd6f6c5e5d..cf2d979fea1 100644
--- a/gcc/tree-vect-stmts.c
+++ b/gcc/tree-vect-stmts.c
@@ -9925,7 +9925,8 @@ vectorizable_condition (vec_info *vinfo,
   FOR_EACH_VEC_ELT (vec_oprnds0, i, vec_cond_lhs)
     {
       vec_then_clause = vec_oprnds2[i];
-      vec_else_clause = vec_oprnds3[i];
+      if (reduction_type != EXTRACT_LAST_REDUCTION)
+       vec_else_clause = vec_oprnds3[i];

       if (swap_cond_operands)
        std::swap (vec_then_clause, vec_else_clause);

Reply via email to