Abstracting pointer arithmetic

Lars Brinkhoff lars.spam@nocrew.org
Mon Jan 29 04:49:00 GMT 2001


kenner@vlsi1.ultra.nyu.edu (Richard Kenner) writes:
> I *strongly* disagree with this.

Ok.  Thanks for pointing out that it was a bad idea.

> Please say *precisely*what problem you are trying to solve first.
> Once we know that, it will be possible to suggest things that will
> work, but it would seem to me that such an abstraction should be at
> the tree level.

I'm writing a back end for a word-adressed machine.  For this machine,
pointer arithmetic doesn't quite work like integer arithmetic.
Pointers to sub-word objects have a word address in the low bits, and
a byte selector in the top bits, and are incremented using a special
instruction.  Subtracting or comparing these pointers takes several
instructions.  Pointers to words are incremented by adding 1*<number
of words>, not 4*<number of words>, but otherwise behave as integers.

Others have pointed to bit-addressed machines, where pointers are
incremented by 8*<number of bytes>.

It seems to be that the back end would have to handle or provide
information about a few pointer operations.

Any suggestions?



More information about the Gcc mailing list