> I should probably have responded to this earlier, sorry. I'm not sure
> which part you mean, so here's an attempt at justifying the whole block:
>
> 1) WORDS_BIG_ENDIAN is deliberately ignored:
>
> /* The following line once was done only if WORDS_BIG_ENDIAN,
>but I think that is
Eric Botcazou writes:
>> + enum machine_mode op_mode = mode_for_extraction (EP_insv, 3);
>>if (HAVE_insv
>>&& GET_MODE (value) != BLKmode
>>&& bitsize > 0
>> @@ -690,25 +670,34 @@ store_bit_field_1 (rtx str_rtx, unsigned
>> -fstrict-volatile-bitfields is in effect.
> * 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,
Hi Eric,
Thanks for the review.
Eric Botcazou writes:
>> -476,34 +468,36 @@ store_bit_field_1 (rtx str_rtx, unsigne
>> }
>>
>>/* If the target is a register, overwriting the entire object, or storing
>> - a full-word or multi-word field can be done with just a SUBREG. +
>> a fu
> The patch is probably quite hard to review, sorry. I've made the changelog
> a bit more detailed than usual in order to list the individual points.
You meant scary, didn't you? :-)
> * expmed.c (store_bit_field_1): Remove unit, offset, bitpos and
> byte_offset from the outermost sc