This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Need advice with store_bit_field and its call chain
- From: Jim Wilson <wilson at specifixinc dot com>
- To: Zack Weinberg <zack at codesourcery dot com>
- Cc: gcc at gcc dot gnu dot org
- Date: Sun, 26 Oct 2003 22:26:42 -0800
- Subject: Re: Need advice with store_bit_field and its call chain
- References: <877k2vefox.fsf@egil.codesourcery.com>
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