Commit 401db791 by Jim Wilson

(extract_fixed_bit_field): Adjust BITPOS so that it

fits inside MODE before adjusting OFFSET to get an aligned address.

From-SVN: r4216
parent 31e4b1c0
......@@ -1257,6 +1257,16 @@ extract_fixed_bit_field (tmode, op0, offset, bitsize, bitpos,
total_bits = GET_MODE_BITSIZE (mode);
/* Make sure bitpos is valid for the chosen mode. Adjust BITPOS to
be be in the range 0 to total_bits-1, and put any excess bytes in
OFFSET. */
if (bitpos >= total_bits)
{
offset += (bitpos / total_bits) * (total_bits / BITS_PER_UNIT);
bitpos -= ((bitpos / total_bits) * (total_bits / BITS_PER_UNIT)
* BITS_PER_UNIT);
}
/* Get ref to an aligned byte, halfword, or word containing the field.
Adjust BITPOS to be position within a word,
and OFFSET to be the offset of that word.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment