function.c (purge_addressof_1): Do not perform endianness corrections on bitpos, who we call will do it for us.

* function.c (purge_addressof_1): Do not perform endianness
	corrections on bitpos, who we call will do it for us.

From-SVN: r22766
This commit is contained in:
David S. Miller 1998-10-02 20:17:50 +00:00 committed by David S. Miller
parent d01d29035e
commit 47401c4d4b
2 changed files with 7 additions and 15 deletions

View File

@ -1,3 +1,8 @@
Fri Oct 2 19:14:20 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
* function.c (purge_addressof_1): Do not perform endianness
corrections on bitpos, who we call will do it for us.
Fri Oct 2 11:52:35 1998 Jeffrey A Law (law@cygnus.com)
* h8300.c (WORD_REG_USED): Fix typo.

View File

@ -2879,21 +2879,8 @@ purge_addressof_1 (loc, insn, force, store)
/* Do a bitfield insertion to mirror what would happen
in memory. */
int bitpos;
rtx val, seq;
bitpos = 0;
if (WORDS_BIG_ENDIAN)
{
bitpos += (size_sub / BITS_PER_WORD) * BITS_PER_WORD;
bitpos -= (size_x / BITS_PER_WORD) * BITS_PER_WORD;
}
if (BYTES_BIG_ENDIAN)
{
bitpos += size_sub % BITS_PER_WORD;
bitpos -= size_x % BITS_PER_WORD;
}
if (store)
{
/* If we can't replace with a register, be afraid. */
@ -2907,7 +2894,7 @@ purge_addressof_1 (loc, insn, force, store)
emit_insn_before (seq, insn);
start_sequence ();
store_bit_field (sub, size_x, bitpos, GET_MODE (x),
store_bit_field (sub, size_x, 0, GET_MODE (x),
val, GET_MODE_SIZE (GET_MODE (sub)),
GET_MODE_SIZE (GET_MODE (sub)));
@ -2918,7 +2905,7 @@ purge_addressof_1 (loc, insn, force, store)
else
{
start_sequence ();
val = extract_bit_field (sub, size_x, bitpos, 1, NULL_RTX,
val = extract_bit_field (sub, size_x, 0, 1, NULL_RTX,
GET_MODE (x), GET_MODE (x),
GET_MODE_SIZE (GET_MODE (sub)),
GET_MODE_SIZE (GET_MODE (sub)));