This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[committed] Relax store_bit_field call in store_expr
- From: Richard Sandiford <richard dot sandiford at arm dot com>
- To: gcc-patches at gcc dot gnu dot org
- Date: Fri, 11 Oct 2019 15:45:30 +0100
- Subject: [committed] 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.
Tested on aarch64-linux-gnu and x86_64-linux-gnu, applied as obvious.
Richard
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.
Index: gcc/expr.c
===================================================================
--- gcc/expr.c 2019-10-06 16:37:30.845042970 +0100
+++ gcc/expr.c 2019-10-11 15:44:02.755432660 +0100
@@ -5790,7 +5790,8 @@ store_expr (tree exp, rtx target, int ca
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