On Fri, May 1, 2020 at 7:58 PM BALATON Zoltan <bala...@eik.bme.hu> wrote:

> On Fri, 1 May 2020, 罗勇刚(Yonggang Luo) wrote:
> > That's what I suggested,
> > We preserve a  float computing cache
> > typedef struct FpRecord {
> >  uint8_t op;
> >  float32 A;
> >  float32 B;
> > }  FpRecord;
> > FpRecord fp_cache[1024];
> > int fp_cache_length;
> > uint32_t fp_exceptions;
> >
> > 1. For each new fp operation we push it to the  fp_cache,
> > 2. Once we read the fp_exceptions , then we re-compute
> > the fp_exceptions by re-running the fp FpRecord sequence.
> > and clear  fp_cache_length.
>
> Why do you need to store more than the last fp op? The cumulative bits can
> be tracked like it's done for other targets by not clearing fp_status then
> you can read it from there. Only the non-sticky FI bit needs to be
> computed but that's only determined by the last op so it's enough to
> remember that and run that with softfloat (or even hardfloat after
> clearing status but softfloat may be faster for this) to get the bits for
> last op when status is read.
>
Yeap, store only the last fp op is also an option. Do you means that store
the last fp op,
and calculate it when necessary?  I am thinking about a general fp
optmize method that suite
for all target.

>
> > 3. If we clear the fp_exceptions , then we set fp_cache_length to 0 and
> > clear  fp_exceptions.
> > 4. If the  fp_cache are full, then we re-compute
> > the fp_exceptions by re-running the fp FpRecord sequence.
>
> All this cache management and more than one element seems unnecessary to
> me although I may be missing something.
>
> > Now the keypoint is how to tracking the read and write of FPSCR register,
> > The current code are
> >    cpu_fpscr = tcg_global_mem_new(cpu_env,
> >                                   offsetof(CPUPPCState, fpscr), "fpscr");
>
> Maybe you could search where the value is read which should be the places
> where we need to handle it but changes may be needed to make a clear API
> for this between target/ppc, TCG and softfloat which likely does not
> exist yet.
>
> Regards,
> BALATON Zoltan



-- 
         此致
礼
罗勇刚
Yours
    sincerely,
Yonggang Luo

Reply via email to