From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48217) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Vb8wA-0007nG-GZ for qemu-devel@nongnu.org; Tue, 29 Oct 2013 09:02:28 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Vb8w1-0004HV-Pl for qemu-devel@nongnu.org; Tue, 29 Oct 2013 09:02:22 -0400 Message-ID: <526FB1A7.5090109@gmail.com> Date: Tue, 29 Oct 2013 08:01:27 -0500 From: Tom Musta MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] [PATCH V2 00/19] PowerPC VSX Stage 3 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: QEMU Developers Cc: Tom Musta , "qemu-ppc@nongnu.org" From 89de52ee03f68cef1f3343d3275162427ec22ded Mon Sep 17 00:00:00 2001 From: Tom Musta Date: Tue, 29 Oct 2013 07:52:19 -0500 Subject: To: qemu-ppc@nongnu.org This is the third series of patches to add PowerPC VSX emulation support to QEMU. This series adds the floating point arithmetic, compare, conversion and rounding instructions. Instructions are implemented using helpers and wherever practical, existing floating point code such as the softfloat library and the existing PowerPC floating point helper code. As with the previous series, the Power ISA V2.06 instructions are added but the V2.07 instructions are not. The latter will be implemented in a future patch series. V2: Implemented changes based on feedback from Richard Henderson and Peter Maydell: - Included float64_to_uint64() patch in this series rather than just cite it as a pre-requesite. - Isolated float32_to_uint64() in its own patch. - Re-implemented helpers and eliminated the need for some of the proposed softfloat routines (float*_is_denormal, float*_get_unbiased_exp). - Re-implemented severy helpers so that corner cases (e.g. invalid operations) are detected by softfloat. - Re-implemented fused multiply-add to use the softfloat muladd routines. - Re-implemented the min/max instructions to used the softfloat min/max functions. - assorted style fixes Tom Musta (19): Fix float64_to_uint64 Add float32_to_uint64() Add set_fprf Argument to fload_invalid_op_excp() General Support for VSX Helpers Add VSX ISA2.06 xadd/xsub Instructions Add VSX ISA2.06 xmul Instructions Add VSX ISA2.06 xdiv Instructions Add VSX ISA2.06 xre Instructions Add VSX ISA2.06 xsqrt Instructions Add VSX ISA2.06 xrsqrte Instructions Add VSX ISA2.06 xtdiv Instructions Add VSX ISA2.06 xtsqrt Instructions Add VSX ISA2.06 Multiply Add Instructions Add VSX xscmp*dp Instructions Add VSX xmax/xmin Instructions Add VSX Vector Compare Instructions Add VSX Floating Point to Floating Point Conversion Instructions Add VSX ISA2.06 Integer Conversion Instructions Add VSX Rounding Instructions fpu/softfloat.c | 140 +++++++- include/fpu/softfloat.h | 1 + target-ppc/fpu_helper.c | 1002 ++++++++++++++++++++++++++++++++++++++++++++--- target-ppc/helper.h | 109 +++++ target-ppc/translate.c | 243 ++++++++++++ 5 files changed, 1439 insertions(+), 56 deletions(-)