From 135a8ad3a59972ea64b1244b0e221cdded9a6ec6 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Fri, 12 Jun 2020 12:06:53 +0200 Subject: [PATCH] fix vectorizable_condition ICE with EXTRACT_LAST_REDUCTION The previous reorg missed a guard around the else clause access. 2020-06-12 Richard Biener PR tree-optimization/95633 * tree-vect-stmts.c (vectorizable_condition): Properly guard the vec_else_clause access with EXTRACT_LAST_REDUCTION. --- gcc/tree-vect-stmts.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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); -- 2.30.2