From 8b27c9052b8d191c98686e77d2fa610390c78f32 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Fri, 11 Oct 2019 14:44:13 +0000 Subject: [PATCH] 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 gcc/ * expr.c (store_expr): Use rtx_to_poly_int64 rather than INTVAL when calling store_bit_field. From-SVN: r276888 --- gcc/ChangeLog | 5 +++++ gcc/expr.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8118e14b563..f346dd5ced7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2019-10-11 Richard Sandiford + + * expr.c (store_expr): Use rtx_to_poly_int64 rather than + INTVAL when calling store_bit_field. + 2019-10-11 Wilco Dijkstra * config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Set when optimizing for diff --git a/gcc/expr.c b/gcc/expr.c index 124144d9b1e..b54bf1d3dc5 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -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 -- 2.30.2