From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37305) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bpSsH-0005YD-15 for qemu-devel@nongnu.org; Thu, 29 Sep 2016 00:23:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bpSsE-0007bI-0c for qemu-devel@nongnu.org; Thu, 29 Sep 2016 00:23:07 -0400 Date: Thu, 29 Sep 2016 14:17:50 +1000 From: David Gibson Message-ID: <20160929041750.GN8390@umbus.fritz.box> References: <34249C6D-327A-4ED4-BB2D-8E2F532A5720@gmail.com> <7e2274fa-f649-887c-c78e-7f5b09749450@redhat.com> <73DBF468-DE5E-4EF0-A54E-91AD38C74C1D@gmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="kK1uqZGE6pgsGNyR" Content-Disposition: inline In-Reply-To: Subject: Re: [Qemu-devel] [Qemu-ppc] How to add my implementation of the fmadds instruction to QEMU List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: G 3 , "list@suse.de:PowerPC list:PowerPC" , Eric Blake , qemu-devel qemu-devel --kK1uqZGE6pgsGNyR Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Sep 27, 2016 at 09:58:02AM -0700, Peter Maydell wrote: > On 27 September 2016 at 09:51, G 3 wrote: > > The problem with your reasoning is you assume this instruction has to be > > 100% correctly implemented. That every single "corner-case" has to be > > accounted for. >=20 > For upstream QEMU we've already made this design decision -- > emulation accuracy comes first, and speed is secondary. > That's why we implement this the way we do. I think there is a way you could get both speed and accuracy, but it's a huge project: You'd need to add full float awareness to TCG - so floating point TCG values and floating point operations as tcp micro-ops, defined according to IEEE semantics. Then you'd need to rewrite the TCG frontends in terms of those new ops, at least for target CPUs close enough to IEEE semantics for that to work. And you'd need to rewrite the TCG backends to implement those fp ops in terms of host cpu fp instructions .. at least when the host has fp behaviour close enough to IEEE to make that work, with a fallback to soft float when that's not the case. --=20 David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson --kK1uqZGE6pgsGNyR Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJX7JXuAAoJEGw4ysog2bOS0NcP/jMDeOTnlz/Usv3GQOcPGsRJ Gs1mKFhk2WJxRXBWmbC1hjAqpAWrJBHGFeQw9YlFIHK+GU6wi7LhFHDQ80V7zDg3 46PclGmhXpxEFKksqTm13GzBx3tNVGqL3m0dLEOLPNpUpKkIu2O1rUHzdITnDLT3 kuhGvaAbW1eRcTl53AcQ7ImWnPK92GB9hqtwvNjDtit1H+39ukpqw2egypDdN19m PRh9eHe8d9BOgbU21MG2p59szkFKyR1NXhndOiBC+2RZXVluR0nLYmWZgEIW2Npq CVIrtvEHEvThcGmIYAp9HKgAgFkVsvEyJ1bGqW4vX9r76e/gF48ibmw6l/2dXXZz ELy5sMtuwdrSNuU7BW3XMnKOJ9V+QQiocB4QppV168C31t0TIqQtPkltWjmaIvTU Imb/ZCOp2BhV0YBGvV1QQFRfqxWVGaK0m8JIAY/LZZkxKy3+vhcIOvDauFCEE7P1 /Fgj8gCHrA4Xgwghe7EJ0TEn536TfXeIHeu7sPZ8vsh58Ua7maLvw88bIRXAGOCq 4/DLxHMX1jzph5hTskRcCq8EKJOoK0GrvC6ROHX8sFx9SzlJ3AWU+3Z9S5HwHh9b Ob+fqrHyYlXxO84/Y83pIueQz5kG3uZwErY6U8bOgIOR7OcDa/7f+JtQmIljvMQE uSR16p9SpVU8uYysM0g2 =NDVU -----END PGP SIGNATURE----- --kK1uqZGE6pgsGNyR--