This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]