diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 28564f723e18ea2127a94ed697d123576ca0224b..21dd1aa29c8222a1a7344350c5a0bc9077656ccc 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2020-01-10 Richard Sandiford <richard.sandiford@arm.com> + + * tree-vect-loop.c (vect_create_epilog_for_reduction): Use + get_related_vectype_for_scalar_type rather than build_vector_type + to create the index type for a conditional reduction. + 2020-01-10 Richard Sandiford <richard.sandiford@arm.com> * tree-vect-loop.c (update_epilogue_loop_vinfo): Update DR_REF diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c index 1fa3ba6d932e594bdafbbe52cb1c6ef39312dbc3..faf816116de2ca7ca76e9f05370542a7e329c30c 100644 --- a/gcc/tree-vect-loop.c +++ b/gcc/tree-vect-loop.c @@ -4566,8 +4566,9 @@ vect_create_epilog_for_reduction (stmt_vec_info stmt_info, int scalar_precision = GET_MODE_PRECISION (SCALAR_TYPE_MODE (TREE_TYPE (vectype))); tree cr_index_scalar_type = make_unsigned_type (scalar_precision); - tree cr_index_vector_type = build_vector_type - (cr_index_scalar_type, TYPE_VECTOR_SUBPARTS (vectype)); + tree cr_index_vector_type = get_related_vectype_for_scalar_type + (TYPE_MODE (vectype), cr_index_scalar_type, + TYPE_VECTOR_SUBPARTS (vectype)); /* First we create a simple vector induction variable which starts with the values {1,2,3,...} (SERIES_VECT) and increments by the