Pmode != INT (e.g., SImode)
Michael Eager
eager@eagercon.com
Mon Sep 22 14:20:00 GMT 2008
I'm working with a target which has address registers
which are shorter than an integer. Pmode is defined as
PSImode, not SImode. There are a limited number of operations
on the address registers, including pre/post-increment/decrement,
but not generalized arithmetic.
I'm running into a number of problems. Instruction costs
used in loops-ivopts are wildly inflated so loop invariants
are not recognized and it looks like combine doesn't recognize
that it can combine a memory access with an increment into a
single instruction, possibly because of mode differences.
Are there any architectures which have Pmode != INT?
Is this the right way to describe this kind of architecture?
There's a comment in the m32r description:
The M32R doesn't have full 32 bit pointers, but making this PSImode has
its own problems (you have to add extendpsisi2 and truncsipsi2).
Try to avoid it.
--
Michael Eager eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306 650-325-8077
More information about the Gcc
mailing list