r192740 - in /trunk/gcc: ChangeLog expmed.c
rsandifo@gcc.gnu.org
rsandifo@gcc.gnu.org
Tue Oct 23 19:14:00 GMT 2012
Author: rsandifo
Date: Tue Oct 23 19:14:09 2012
New Revision: 192740
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=192740
Log:
gcc/
* expmed.c (lowpart_bit_field_p): New function.
(store_bit_field_1): Remove unit, offset, bitpos and byte_offset
from the outermost scope. Express conditions in terms of bitnum
rather than offset, bitpos and byte_offset. Split the plain move
cases into two, one for memory accesses and one for register accesses.
Allow simplify_gen_subreg to fail rather than calling validate_subreg.
Move the handling of multiword OP0s after the code that coerces VALUE
to an integer mode. Use simplify_gen_subreg for this case and assert
that it succeeds. If the field still spans several words, pass it
directly to store_split_bit_field. Assume after that point that
both sources and register targets fit within a word. Replace
x-prefixed variables with non-prefixed forms. Compute the bitpos
for insv register operands directly in the chosen unit size, rather
than going through an intermediate BITS_PER_WORD unit size.
Update the call to store_fixed_bit_field.
(store_fixed_bit_field): Replace the bitpos and offset parameters
with a single bitnum parameter, of the same form as store_bit_field.
Assume that OP0 contains the full field. Simplify the memory offset
calculation. Assert that the processed OP0 has an integral mode.
(store_split_bit_field): Update the call to store_fixed_bit_field.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/expmed.c
More information about the Gcc-cvs
mailing list