On Sat, May 8, 2010 at 2:52 PM, Amker.Cheng wrote:
>> Ah, I forgot pro/epilogue generation, but I think that's the only other
>> thing that happens after reload. That is a special case: it has to generate
>> strict rtl that directly matches the insns it wants. You'll probably have to
>> arrange
> Ah, I forgot pro/epilogue generation, but I think that's the only other
> thing that happens after reload. That is a special case: it has to generate
> strict rtl that directly matches the insns it wants. You'll probably have to
> arrange for it to save at least one GPR early enough in the pro
On 07/05/2010 12:04, Amker.Cheng wrote:
>> It is possible. Your expander can handle it before reload; to handle it
>> during and after reload, you need to implement a TARGET_SECONDARY_RELOAD
>> hook.
>>
>> http://gcc.gnu.org/onlinedocs/gccint/Register-Classes.html#index-TARGET_005fSECONDARY_005f
> It is possible. Your expander can handle it before reload; to handle it
> during and after reload, you need to implement a TARGET_SECONDARY_RELOAD hook.
>
> http://gcc.gnu.org/onlinedocs/gccint/Register-Classes.html#index-TARGET_005fSECONDARY_005fRELOAD-3974
>
Thanks Dave, It works, but I found
On 06/05/2010 10:00, Amker.Cheng wrote:
> here is the question : Is it possible to replace all direct fpload
> with "load_into_gpr ; move_gpr_into_fpr"
> sequence. I doubt it since the reload pass might generate direct
> fpload insn for spilling fpu register.
It is possible. Your expander can
Hi :
Our processor has an errata that the direct fpu load cannot work right,
so I have to substitute instruction sequence "load_into_gpr ; move_gpr_into_fpr"
for direct fpload insn.
Currently I thought of two potential methods as following:
method 1:
step1 : keep a scratch register when e