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] | |
But we need to lower after combine and before register allocation. I'm still figuring out how to do that.
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] |