This is the mail archive of the gcc@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]

Re: State of m68k float emulation in lb1sf68.asm (muldf, divdf)


On Fri, 14 Nov 2003 tm_gccmail@kloo.net wrote:

> On Fri, 14 Nov 2003, Pavel Pisa wrote:
> 
> > Hello everybody,
> > 
> > I have looked into lb1sf68.asm and I have found that implementation
> > is very ineffective. It can be many times improved at least for CPU32
> > targets I expect 6-20 times improvement.
> > 
> > Kazu Hirata sugests to start discussion about this case
> > on GCC list.
> > 
> > The core part of muldf implementation can be rewritten to use
> > something like (not fully evaluated) u64*u64->u128, this can be realized
> > by four u32*u32->u64.
> 
> I believe you only need three.
> 
> The result of the fourth multiply will be shifted left 64, which means
> it will not be used.
> 
> Toshi

Oh wait, never mind. I thought you meant u64*u64->u64.

I don't think you need u64*u64->u128 anyway. IEEE754 DFmode only has 54
bits of fraction, so the extra precision is wasted.

Toshi



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]