This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]