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:
parent
d01d29035e
commit
47401c4d4b
@ -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.
|
||||
|
@ -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)));
|
||||
|
Loading…
Reference in New Issue
Block a user