This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Constraint modifier for partially overlaping operands


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~



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]