Constraint modifier for partially overlaping operands
Richard Henderson
rth@redhat.com
Sat Oct 17 17:35:00 GMT 2009
On 10/16/2009 11:04 PM, Ian Lance Taylor wrote:
> Andrew Hutchinson<andrewhutchinson@cox.net> writes:
>
>> I can use "=" modifier to make operands use same register and early
>> clobber "&" to avoid overlaps.
>>
>> Is it possible to have or construct a contraint that permits partial
>> overlap operands. (which neither = or& would allow)
>> The case would be wide types taking multiple hard registers.
>>
>> eg Input r20..23 Output r22..25
>
> There is no such constraint today. I suppose it would be possible to
> define such a constraint if it seemed useful.
I'd much prefer if the port decomposed its double word operations and
used the lower-subreg pass to decompose the double word registers. At
which point the register allocator has all of the information it needs
to do the right thing.
r~
More information about the Gcc
mailing list