From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47987) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1etXyb-0001c9-Cz for qemu-devel@nongnu.org; Wed, 07 Mar 2018 07:15:22 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1etXya-0003v3-67 for qemu-devel@nongnu.org; Wed, 07 Mar 2018 07:15:21 -0500 Received: from mail-oi0-x22c.google.com ([2607:f8b0:4003:c06::22c]:45638) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1etXyZ-0003uo-Ue for qemu-devel@nongnu.org; Wed, 07 Mar 2018 07:15:20 -0500 Received: by mail-oi0-x22c.google.com with SMTP id j79so1468859oib.12 for ; Wed, 07 Mar 2018 04:15:19 -0800 (PST) MIME-Version: 1.0 References: <1520365586-30384-1-git-send-email-mjc@sifive.com> <20180307101139.GK2787@redhat.com> In-Reply-To: <20180307101139.GK2787@redhat.com> From: Michael Clark Date: Wed, 07 Mar 2018 12:15:08 +0000 Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PULL] RISC-V QEMU Port Submission v8.2 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Richard W.M. Jones" Cc: Bastian Koppelmann , Palmer Dabbelt , QEMU Developers , RISC-V Patches , Sagar Karandikar On Wed, 7 Mar 2018 at 11:11 PM, Richard W.M. Jones wrote: > On Wed, Mar 07, 2018 at 01:09:29PM +1300, Michael Clark wrote: > > Hopefully, this PR gets merged... > > I hope so too. We've been testing v8 (substantially the same as v8.2) > extensively, including SMP. It's building hundreds of packages a day > in the autobuilder, and being used for manual builds by several > people. > > Please don't forget about the softfloat fix! Although it's not > specific to riscv-qemu, it is required for reliable operation and I > don't see if in the v8.2 tree. I=E2=80=99ll try to get it in. I=E2=80=99ve reviewed the new minmax code an= d it should not be difficult to add IEEE-754 201x minimumNumber/maximumNumber. I just ran out of time today. It=E2=80=99s a relatively rare corner case where the RISC-V behaviour is di= fferent when an sNaN operand and a valid operand are provided to fmin/fmax. The IEEE-754 201x minimumNumber/maximumNumber always returns the valid operand when passed anyNaN and a valid operand however an sNaN operand causes the invalid flag to be raised, whereas iirc the IEEE-764 2008 minNum/maxNum will raise the invalid flag and return the sNaN when one operand is an sNaN and the other is valid. Both of their behaviours are the same when passed qNaN and a valid operand. I have the test suite which includes both signalling and quiet NaN fmin/fmax test cases so it is easy to verify and RISC-V is the only QEMU port to use the IEEE-754 201x minimumNumber/maximumNumber semantics so we can easily isolate and test the change without affecting existing code. Michael