r237211 - in /trunk/gcc: ChangeLog expmed.c
rsandifo@gcc.gnu.org
rsandifo@gcc.gnu.org
Wed Jun 8 12:18:00 GMT 2016
Author: rsandifo
Date: Wed Jun 8 12:18:27 2016
New Revision: 237211
URL: https://gcc.gnu.org/viewcvs?rev=237211&root=gcc&view=rev
Log:
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.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/expmed.c
More information about the Gcc-cvs
mailing list