Date: Fri, 2 May 2003 03:26:21 +1000 (EST) From: Bruce Evans <bde@zeta.org.au> To: "David O'Brien" <obrien@FreeBSD.org> Cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/lib/libc/amd64/gen fabs.S modf.S Message-ID: <20030502030109.B20181@gamplex.bde.org> In-Reply-To: <20030501155422.GB43607@dragon.nuxi.com> References: <200304301621.h3UGL3Kl034314@repoman.freebsd.org> <20030501155422.GB43607@dragon.nuxi.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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. Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030502030109.B20181>