public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* 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).