Date: Thu, 23 Jun 2005 10:17:49 +0200 From: Stefan Farfeleder <stefan@fafoe.narf.at> To: Marius Strobl <marius@alchemy.franken.de> Cc: cvs-src@freebsd.org, src-committers@freebsd.org, cvs-all@freebsd.org Subject: Re: cvs commit: src/lib/libc/sparc64/fpu fpu_qp.c Message-ID: <20050623081744.GO9313@wombat.fafoe.narf.at> In-Reply-To: <20050622202802.B54619@newtrinity.zeist.de> References: <200506212113.j5LLD8Zi074085@repoman.freebsd.org> <20050622202802.B54619@newtrinity.zeist.de>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jun 22, 2005 at 08:28:02PM +0200, Marius Strobl wrote:
> On Tue, Jun 21, 2005 at 09:13:07PM +0000, Stefan Farfeleder wrote:
> > stefanf 2005-06-21 21:13:07 UTC
> >
> > Add the functions _Qp_cmp() and _Qp_cmpe() as described in the Sparc
> > Compliance Definition. On sparc64, GCC emits _Qp_cmp() calls for its
> > __builtin_isfoo() functions which are used for C99's isfoo() macros.
>
> Thanks!
You're welcome. Another issue is that the SCD states ``Exceptions mimic
fcmpeq.'' for _Qp_{fge,fgt,fle,flt}(). This means they should set the
cmpe flag when calling __fpu_compare().
Index: fpu_qp.c
===================================================================
RCS file: /home/ncvs/src/lib/libc/sparc64/fpu/fpu_qp.c,v
retrieving revision 1.7
diff -I.svn -u -r1.7 fpu_qp.c
--- fpu_qp.c 21 Jun 2005 21:13:07 -0000 1.7
+++ fpu_qp.c 23 Jun 2005 08:06:01 -0000
@@ -139,10 +139,10 @@
_QP_QTOT(ux, x, u_long, &u.a)
_QP_CMP(feq, 0, FCC_EQ)
-_QP_CMP(fge, 0, FCC_GE)
-_QP_CMP(fgt, 0, FCC_GT)
-_QP_CMP(fle, 0, FCC_LE)
-_QP_CMP(flt, 0, FCC_LT)
+_QP_CMP(fge, 1, FCC_GE)
+_QP_CMP(fgt, 1, FCC_GT)
+_QP_CMP(fle, 1, FCC_LE)
+_QP_CMP(flt, 1, FCC_LT)
_QP_CMP(fne, 0, FCC_NE)
_QP_CMP(cmp, 0, FCC_ID)
_QP_CMP(cmpe, 1, FCC_ID)
Stefan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050623081744.GO9313>
