On 10/17/2009 10:36 AM, Andrew Hutchinson wrote:
Lowering before combine - in particular causes a lot of code bloat. This
loose all optimization of conditional jumps, shifts etc.
Do you have an example of why this is so for your target?
r~
Yes.
But we need to lower after combine and before register allocation.
I'm still figuring out how to do that.
Lowering before combine - in particular causes a lot of code bloat. This
loose all optimization of conditional jumps, shifts etc.
In our case, most lowering is delayed until after relo
Andrew Hutchinson wrote:
> OR partial overlap is preferred (or required)
Oh, I see what you mean. Yes, that probably would be useful, thanks for the
clarification.
cheers,
DaveK
On 10/16/2009 11:04 PM, Ian Lance Taylor wrote:
Andrew Hutchinson 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 situation comes up where no or a partial overlap of registers
permits optimal code - since this can avoid using scratch register
Thus no overlap OR partial overlap is preferred (or required)
Using nothing leaves overlap without preference - full, partial,none
Using = gives the least preff
Ian Lance Taylor wrote:
> Andrew Hutchinson 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
Andrew Hutchinson 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 m
Hi
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 In