aboutsummaryrefslogtreecommitdiff
path: root/gcc/expmed.h
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@linaro.org>2017-12-20 12:53:44 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2017-12-20 12:53:44 +0000
commit2d7b38df8e50a2c29bbc778a34c6ab6349178994 (patch)
tree9434a81dbc47de40990db4b2e1ba787ae865df97 /gcc/expmed.h
parent73ca989cb823c3857336ada13446bc5c04cec3eb (diff)
downloadgcc-2d7b38df8e50a2c29bbc778a34c6ab6349178994.zip
gcc-2d7b38df8e50a2c29bbc778a34c6ab6349178994.tar.gz
gcc-2d7b38df8e50a2c29bbc778a34c6ab6349178994.tar.bz2
poly_int: store_bit_field bitrange
This patch changes the bitnum and bitsize arguments to store_bit_field from unsigned HOST_WIDE_INTs to poly_uint64s. The later part of store_bit_field_1 still needs to operate on constant bit positions and sizes, so the patch splits it out into a subfunction (store_integral_bit_field). 2017-12-20 Richard Sandiford <richard.sandiford@linaro.org> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> gcc/ * expmed.h (store_bit_field): Take bitsize and bitnum as poly_uint64s rather than unsigned HOST_WIDE_INTs. * expmed.c (simple_mem_bitfield_p): Likewise. Add a parameter that returns the byte size. (store_bit_field_1): Take bitsize and bitnum as poly_uint64s rather than unsigned HOST_WIDE_INTs. Update call to simple_mem_bitfield_p. Split the part that can only handle constant bitsize and bitnum out into... (store_integral_bit_field): ...this new function. (store_bit_field): Take bitsize and bitnum as poly_uint64s rather than unsigned HOST_WIDE_INTs. (extract_bit_field_1): Update call to simple_mem_bitfield_p. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r255877
Diffstat (limited to 'gcc/expmed.h')
-rw-r--r--gcc/expmed.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/expmed.h b/gcc/expmed.h
index 69be076..2148e1b 100644
--- a/gcc/expmed.h
+++ b/gcc/expmed.h
@@ -718,8 +718,7 @@ extern rtx expand_divmod (int, enum tree_code, machine_mode, rtx, rtx,
rtx, int);
#endif
-extern void store_bit_field (rtx, unsigned HOST_WIDE_INT,
- unsigned HOST_WIDE_INT,
+extern void store_bit_field (rtx, poly_uint64, poly_uint64,
unsigned HOST_WIDE_INT,
unsigned HOST_WIDE_INT,
machine_mode, rtx, bool);