aboutsummaryrefslogtreecommitdiff
path: root/gcc/fold-const.c
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2016-06-08 12:18:27 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2016-06-08 12:18:27 +0000
commit867a0126bcb8e2ea2b9ef900ac8b6b75c4fc6382 (patch)
tree40883c86eea64895001fccfa98cda344648a1326 /gcc/fold-const.c
parentd821b79474ab6c3513fe0060decff0ecd5934fc0 (diff)
downloadgcc-867a0126bcb8e2ea2b9ef900ac8b6b75c4fc6382.zip
gcc-867a0126bcb8e2ea2b9ef900ac8b6b75c4fc6382.tar.gz
gcc-867a0126bcb8e2ea2b9ef900ac8b6b75c4fc6382.tar.bz2
Remove word_mode hack for split bitfields
This patch is effectively reverting a change from 1994. The reason I think it's a hack is that store_bit_field_1 is creating a subreg reference to one word of a field even though it has already proven that the field spills into the following word. We then rely on the special SUBREG handling in store_split_bit_field to ignore the extent of op0 and look inside the SUBREG_REG regardless. I don't see any reason why we can't pass the original op0 to store_split_bit_field instead. Tested on aarch64-linux-gnu and x86_64-linux-gnu. gcc/ * expmed.c (store_bit_field_1): Do not restrict a multiword op0 to one word if the field is known to overlap other words. (extract_bit_field_1): Likewise. (store_split_bit_field): Remove compensating code. (extract_split_bit_field): Likewise. From-SVN: r237211
Diffstat (limited to 'gcc/fold-const.c')
0 files changed, 0 insertions, 0 deletions