Relax store_bit_field call in store_expr

store_bit_field already takes a poly_uint64 size, so we can relax the
INTVAL to rtx_to_poly_int64.  This is tested by the SVE ACLE patches.

2019-10-11  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
	* expr.c (store_expr): Use rtx_to_poly_int64 rather than
	INTVAL when calling store_bit_field.

From-SVN: r276888
This commit is contained in:
Richard Sandiford 2019-10-11 14:44:13 +00:00 committed by Richard Sandiford
parent 3635c2bf7c
commit 8b27c9052b
2 changed files with 7 additions and 1 deletions

View file

@ -1,3 +1,8 @@
2019-10-11 Richard Sandiford <richard.sandiford@arm.com>
* expr.c (store_expr): Use rtx_to_poly_int64 rather than
INTVAL when calling store_bit_field.
2019-10-11 Wilco Dijkstra <wdijkstr@arm.com>
* config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Set when optimizing for

View file

@ -5790,7 +5790,8 @@ store_expr (tree exp, rtx target, int call_param_p,
copy_blkmode_from_reg (target, temp, TREE_TYPE (exp));
else
store_bit_field (target,
INTVAL (expr_size (exp)) * BITS_PER_UNIT,
rtx_to_poly_int64 (expr_size (exp))
* BITS_PER_UNIT,
0, 0, 0, GET_MODE (temp), temp, reverse);
}
else