Need advice with store_bit_field and its call chain
Jim Wilson
wilson@specifixinc.com
Mon Oct 27 11:47:00 GMT 2003
Zack Weinberg wrote:
> I have not unsnarled the third clause, but it doesn't
> matter, because the second one is the problem. The
> bitsize is 128, but GET_MODE_BITSIZE (XFmode) is 96
> (really should be 80, but that breaks too much other
> stuff). The bitsize is coming from store_constructor:
The problem arises because we have GET_MODE_SIZE (XFmode) == 16, and
GET_MODE_BITSIZE (XFmode) == 96, and thus the byte size is not bitsize *
BITS_PER_UNIT. So I think you should test for that.
Perhaps
&& (bitsize == GET_MODE_BITSIZE (fieldmode)
|| bitsize == GET_MODE_SIZE (fieldmode) * BITS_PER_UNIT)
This would deserve a comment, as anyone looking at this is going to be
very confused about why we need both tests, when they are obviously the
same test.
Or maybe we only need the GET_MODE_SIZE test, because that one is always
be the correct test?
--
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com
More information about the Gcc
mailing list