Revert regression causing changes to store_bit_field_1.

Revert
	2011-11-16  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	PR middle-end/50325
	* expmed.c (store_bit_field_1): Use extract_bit_field on big
	endian targets if the source cannot be exactly covered by word
	mode chunks.

From-SVN: r181598
This commit is contained in:
David S. Miller 2011-11-21 21:50:41 +00:00 committed by David S. Miller
parent 7fefb1d1a9
commit e57a3447f7
2 changed files with 12 additions and 11 deletions

View file

@ -1,3 +1,13 @@
2011-11-21 David S. Miller <davem@davemloft.net>
Revert
2011-11-16 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
PR middle-end/50325
* expmed.c (store_bit_field_1): Use extract_bit_field on big
endian targets if the source cannot be exactly covered by word
mode chunks.
2011-11-21 Jakub Jelinek <jakub@redhat.com>
PR debug/50827

View file

@ -557,18 +557,9 @@ store_bit_field_1 (rtx str_rtx, unsigned HOST_WIDE_INT bitsize,
0)
: (int) i * BITS_PER_WORD);
rtx value_word = operand_subword_force (value, wordnum, fieldmode);
unsigned HOST_WIDE_INT new_bitsize =
MIN (BITS_PER_WORD, bitsize - i * BITS_PER_WORD);
/* If the remaining chunk doesn't have full wordsize we have
to make sure that for big endian machines the higher order
bits are used. */
if (new_bitsize < BITS_PER_WORD && BYTES_BIG_ENDIAN)
value_word = extract_bit_field (value_word, new_bitsize, 0,
true, false, NULL_RTX,
BLKmode, word_mode);
if (!store_bit_field_1 (op0, new_bitsize,
if (!store_bit_field_1 (op0, MIN (BITS_PER_WORD,
bitsize - i * BITS_PER_WORD),
bitnum + bit_offset,
bitregion_start, bitregion_end,
word_mode,