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