diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2019-10-11 14:44:13 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2019-10-11 14:44:13 +0000 |
commit | 8b27c9052b8d191c98686e77d2fa610390c78f32 (patch) | |
tree | e3ffcabde97675da6f6a0f59bbdd792f38e2f280 /gcc/expr.c | |
parent | 3635c2bf7c40a959ebd257d4724ebf487155a343 (diff) | |
download | gcc-8b27c9052b8d191c98686e77d2fa610390c78f32.zip gcc-8b27c9052b8d191c98686e77d2fa610390c78f32.tar.gz gcc-8b27c9052b8d191c98686e77d2fa610390c78f32.tar.bz2 |
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
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -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 |