From patchwork Sat Feb 24 20:17:58 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Vivier X-Patchwork-Id: 877455 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=vivier.eu Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3zpfYk3ZvGz9sW6 for ; Sun, 25 Feb 2018 07:18:49 +1100 (AEDT) Received: from localhost ([::1]:51316 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1epgHO-0001vE-J3 for incoming@patchwork.ozlabs.org; Sat, 24 Feb 2018 15:18:46 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33555) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1epgGt-0001tx-Ui for qemu-devel@nongnu.org; Sat, 24 Feb 2018 15:18:17 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1epgGq-0007hj-NT for qemu-devel@nongnu.org; Sat, 24 Feb 2018 15:18:15 -0500 Received: from mout.kundenserver.de ([212.227.126.134]:59765) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1epgGq-0007f4-D2 for qemu-devel@nongnu.org; Sat, 24 Feb 2018 15:18:12 -0500 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue003 [212.227.15.167]) with ESMTPSA (Nemesis) id 0LyQ4I-1edz1n1kU2-015soB; Sat, 24 Feb 2018 21:18:05 +0100 From: Laurent Vivier To: qemu-devel@nongnu.org Date: Sat, 24 Feb 2018 21:17:58 +0100 Message-Id: <20180224201802.911-1-laurent@vivier.eu> X-Mailer: git-send-email 2.14.3 X-Provags-ID: V03:K0:0XrFp9rNuCVnMjSoJfmL+7LpYHu1yWAW0ubV37LUvie/XlLIxWA P22xdWZE7H1+W3b/lyMyaZ64Jpz49kQQCN6fdlSnA+tXfrqC+B+w9lMrSfeYvSkavD2gBFB VewpkEKJkE1dzPcovWKCdVYRpr4DC2PuxrLz2KGbWx15444lVcI7qAFpynr2x7fLIlZPNZt ZDopPpiVNHZF1A8HKAQxA== X-UI-Out-Filterresults: notjunk:1; V01:K0:qppOAVXXxuY=:2H1M+EoyqdrlU1H6OLVZl0 3bAbYdmdn6x5HRy/xrQmDoLc3xVgy3IUrHiXLzy/U68fsSwGJ7Wb/X66qhmcgyZdqtvsmkZqs xiScuDlVRukFLIc0oHVPIoiTkhwcE7LWp9/YEN7gEOFh01EMu56CTr0n5MvIphjgoKUwuN95j k0QtBnHNKNcR71ep+Mbw/CClGneDf2V2yq/2vqS3uYxTTIG9hOervobRDKu51vhxH0Mh2b1j6 5/1fSx8mGeh7+6XhlNc9KchxsKq3FQ56euA1Qs5RPjPz8tGO0xIDMp5oD/tffeCxMx3CDxwaK G4+VI+fZIkvIxPiointiGryh60zNvzRoB1nNss2qTgnFQi7mc7SZOucOnbDXz/cHkeACmvHnA bJeIku30keC9Uhp9x98DY14d9+WuGQhrZpWY/IsNymAVax0p17pvPGeBUQ5LiwE1K1cyAwmxk Vz93KM+dy6RV/KgFdEhMdslTks0qjDHITjK5EIi0pCDUBAZ1NpfeImCYdhKdmoaG/ywOdMaDx /6CkGFc85TUbsER46CBhKjomws3MDFgJ3ui8kJpKMiLp7JAgadnNFOzeebQ+PxWjo9o3e4Z9Z BaLDbw3HTO7iovkowibm7wQN0qIpv0J4SaE184pHnAfaZBG8zaA8iImNFcPP6FhbgfXDFJSSa cp56BBIqTdJ9a1aodjmmsjn9CFnLVSubsRCXJGx2kjQhB+oO04eQF7xAqa3/iY2HikQR4c9qg F1h6hw+3Sdu45hDyCuIW8X0MU8OdwcdSmOkEQw== X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 212.227.126.134 Subject: [Qemu-devel] [PATCH v4 0/4] target/m68k: implement 680x0 FPU (part 3) X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Thomas Huth , Laurent Vivier , Richard Henderson Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Implement fmod, frem, fscale, fgetman and fgetexp. Instead of using functions of libm (v1 of this series) and converting between host long double and floatx80 type the new version (v2) adds new floatx80 functions in softfloat. All the floatx80 functions are copied from "Previous", the NeXT Computer Emulator, and written by Andreas Grabher. v4: fix floatx80_to_int64() to check for NaN, not for infinity fix floatx80_is_infinity() to ignore mantissa's MSB v3: Move all new functions to target/m68k/softfloat.c Exports needed functions from fpu/softfloat.c Laurent Vivier (4): softfloat: export some functions target/m68k: add fmod/frem softfloat: use floatx80_infinity in softfloat target/m68k: add fscale, fgetman and fgetexp fpu/softfloat-specialize.h | 17 ++- fpu/softfloat.c | 130 +++++------------ {fpu => include/fpu}/softfloat-macros.h | 10 +- include/fpu/softfloat.h | 133 ++++++++++++++++- target/m68k/Makefile.objs | 3 +- target/m68k/cpu.h | 1 + target/m68k/fpu_helper.c | 50 ++++++- target/m68k/helper.h | 5 + target/m68k/softfloat.c | 249 ++++++++++++++++++++++++++++++++ target/m68k/softfloat.h | 29 ++++ target/m68k/translate.c | 15 ++ 11 files changed, 536 insertions(+), 106 deletions(-) rename {fpu => include/fpu}/softfloat-macros.h (98%) create mode 100644 target/m68k/softfloat.c create mode 100644 target/m68k/softfloat.h