Re: a peculiar fpload problem on an inferior processor

2010-05-10 Thread Amker.Cheng
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

Re: a peculiar fpload problem on an inferior processor

2010-05-07 Thread Amker.Cheng
>  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

Re: a peculiar fpload problem on an inferior processor

2010-05-07 Thread Dave Korn
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

Re: a peculiar fpload problem on an inferior processor

2010-05-07 Thread Amker.Cheng
>  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

Re: a peculiar fpload problem on an inferior processor

2010-05-06 Thread Dave Korn
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

a peculiar fpload problem on an inferior processor

2010-05-06 Thread Amker.Cheng
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