Skip site navigation (1)Skip section navigation (2)
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>