* 128 bits addresses
@ 2000-07-07 2:40 Benedetto Proietti
0 siblings, 0 replies; only message in thread
From: Benedetto Proietti @ 2000-07-07 2:40 UTC (permalink / raw)
To: gcc
Hi,
i'm writing a port of gcc for a machine that addresses memory with units
of 128 bits.
To have correct addresses generation i have to set BITS_PER_UNIT to 128,
this (strange I think)
causes machine mode sizes to grow up, so that I have to change them in
machmode.def.
Is it correct?
The problem is that in a 32 bit hosts (i.e. IA-32) gcc cannot represent
128bit costants and it crashes. For instance in immed_double_const.
Leaving BITS_PER_UNIT==8 is not right for addresses, because registers
are 128 bits and, for example, in:
int array[100];
array[1] = 0;
it generates code to access address array+8, which is false.
For our last machine, that was a 64bit regs & 64 bits memory units, I
changed BITS_PER_UNIT and machine mode sizes: it worked fine.
I know that gcc is made for 32bit machines that address memory at units
of 8 bits, I'd like to know if anyone has already found (and solved)
this problem, or/and if there is any intention to generalize the way gcc
addresses memory.
Thank you in advance.
Benedetto Proietti
/---------------------------------------------------------\
| Benedetto Proietti |
| INFN - Italian National Institute for Nuclear Physics |
| apeNEXT project, APE group |
| |
| benedetto.proietti@roma1.infn.it; betto@ifh.de |
| Tel. +49-33-76277494 |
\---------------------------------------------------------/
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2000-07-07 2:40 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-07-07 2:40 128 bits addresses Benedetto Proietti
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).