Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 05 May 2003 16:30:46 -0700
From:      Peter Wemm <peter@wemm.org>
To:        Bruce Evans <bde@zeta.org.au>
Cc:        David O'Brien <obrien@FreeBSD.org>
Subject:   Re: cvs commit: src/lib/libc/amd64/gen fabs.S modf.S 
Message-ID:  <20030505233046.AE7F82A8AE@canning.wemm.org>
In-Reply-To: <20030502030109.B20181@gamplex.bde.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
Bruce Evans wrote:
> On Thu, 1 May 2003, David O'Brien wrote:
> 
> > On Thu, May 01, 2003 at 02:24:23AM +0300, Maxim Sobolev wrote:
> > > Does this mean that it is theoretically possible to use those
> > > and other similar functions on SSE2-capable ia32 processors, such
> > > as p4, instead of x87 FPU ones?
> >
> > Probably.  You'll have to do a little /%r/%e/ action.
> 
> Not to mention changing the i386 calling convention.  But you wouldn't
> want to use these and other similar functions on SSEn-capable ia32
> processors, since they don't use SSEn except for using SSE1 registers
> to pessimize the function call protocol a little for at least the
> callee (the callee has to do extra work to move values from wrong
> registers via the stack).  Perhaps other unsimilar functions get
> more benefits from SSE.
> 
> BTW, is it really safe to use negative stack offsets for scratch
> variables ?  Where is the signal stack?  fabs() and some other functions
> use negative stack offsets, but modf() uses a normal frame pointer.

Yes.  There is a 128 byte 'red zone' below the stack pointer that may be
used by leaf functions.  Signals delivery is supposed to skip that space,
but I haven't done that yet.  

Cheers,
-Peter
--
Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com
"All of this is for nothing if we don't go to the stars" - JMS/B5



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030505233046.AE7F82A8AE>