On 10/21/10 22:11, Ian Lance Taylor wrote:
Paul Koning<[email protected]> writes:
To take that example, on the pdp11 an SImode is two HImodes. Could
the RTL template in the MD file for, say, addsi3 split that into two
or three insns that operate on HImode values and describe the actual
instructions? In this case: add high parts, then add low parts and
propagate carry into high. Split that way it would seem you would not
be constrained to adjacent registers, or for that matter to both being
registers at all.
The lower subreg pass will do that for you if you have the right set of
insns.
Also remember that lower-subreg won't lower all multi-word values, it
has restrictions. Ideally we'd improve lower-subreg so that we wouldn't
see multi-word pseudos in the allocators.
jeff