From: Richard Sandiford Date: Mon, 18 Sep 2017 15:28:55 +0000 (+0000) Subject: Fix type of bitstart in vectorizable_live_operation X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e009b0558e8dd9bd9b17308104834ef5a1536975;p=gcc.git Fix type of bitstart in vectorizable_live_operation This patch changes the type of the multiplier applied by vectorizable_live_operation from unsigned_type_node to bitsizetype, which matches the type of TYPE_SIZE and is the type expected of a BIT_FIELD_REF bit position. This is shown by existing tests when SVE is added. 2017-09-18 Richard Sandiford Alan Hayward David Sherwood gcc/ * tree-vect-loop.c (vectorizable_live_operation): Fix type of bitstart. Co-Authored-By: Alan Hayward Co-Authored-By: David Sherwood From-SVN: r252931 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4c052cc55bc..9142af1bb06 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2017-09-18 Richard Sandiford + Alan Hayward + David Sherwood + + * tree-vect-loop.c (vectorizable_live_operation): Fix type of + bitstart. + 2017-09-18 Richard Sandiford Alan Hayward David Sherwood diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c index 5d29ef5275c..3140bbbbfff 100644 --- a/gcc/tree-vect-loop.c +++ b/gcc/tree-vect-loop.c @@ -7091,7 +7091,7 @@ vectorizable_live_operation (gimple *stmt, vec_lhs = gimple_get_lhs (SLP_TREE_VEC_STMTS (slp_node)[vec_entry]); /* Get entry to use. */ - bitstart = build_int_cst (unsigned_type_node, vec_index); + bitstart = bitsize_int (vec_index); bitstart = int_const_binop (MULT_EXPR, bitsize, bitstart); } else