Use SCALAR_TYPE_MODE in vect_create_epilog_for_reduction
Richard Sandiford
richard.sandiford@linaro.org
Mon Oct 23 09:44:00 GMT 2017
This follows on from similar changes a couple of months ago and
is needed when general modes have variable size.
Tested on aarch64-linux-gnu, x86_64-linux-gnu and powerpc64le-linux-gnu.
Applied as obvious.
Richard
2017-10-23 Richard Sandiford <richard.sandiford@linaro.org>
gcc/
* tree-vect-loop.c (vect_create_epilog_for_reduction): Use
SCALAR_TYPE_MODE instead of TYPE_MODE.
Index: gcc/tree-vect-loop.c
===================================================================
--- gcc/tree-vect-loop.c 2017-10-22 21:04:50.136830154 +0100
+++ gcc/tree-vect-loop.c 2017-10-23 10:39:37.711243373 +0100
@@ -4487,7 +4487,7 @@ vect_create_epilog_for_reduction (vec<tr
gcc_assert (gimple_assign_rhs_code (vec_stmt) == VEC_COND_EXPR);
int scalar_precision
- = GET_MODE_PRECISION (TYPE_MODE (TREE_TYPE (vectype)));
+ = 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));
More information about the Gcc-patches
mailing list