This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: BITS_PER_UNIT larger than 8 -- word addressing
Michael Eager <eager@eagercon.com> writes:
> Ross Ridge wrote:
>> Miceal Eagar writes:
>>> I'm working with a target that has 32-bit word addressing,
>>> so there is a define of BITS_PER_UNIT = 32.
>>
>> According to the documentation, this changes the size of a byte to 32
>> bits, instead of the more usual 8 bits.
>>
>>> This causes a problem: an error saying that there is
>>> no emulation for 'DI'. DImode has a precision of 128 bits,
>>> which is clearly incorrect. (All the other integer modes
>>> were incorrect as well.)
>>
>> DImode is defined to be 8 bytes long so with a 32-bit byte I'd expect
>> it to be 256 bits. Trying use QImode and HImode for 32-bit and 64-bit
>> operations respectively.
>
> Well, can't do that. This is not target dependent.
> DImode gets defined, and used, for long long in unwind-dw2.c.
But like Ross says, DImode is 256 bits, so its unwind-dw2.c that
needs to change.
(FWIW, I remember testing c4x for some pan-target changes after it was
slated for removal, and I just disabled the unwinding stuff. Most other
things seemed to work fine.)
Richard