From: Tom Musta <tommusta@gmail.com>
To: qemu-devel@nongnu.org
Cc: Tom Musta <tommusta@gmail.com>, qemu-ppc@nongnu.org
Subject: [Qemu-devel] [V5 PATCH 00/22] target-ppc: PowerPC VSX Stage 3
Date: Thu, 2 Jan 2014 16:21:13 -0600 [thread overview]
Message-ID: <1388701295-29855-1-git-send-email-tommusta@gmail.com> (raw)
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
V3: re-submitting due to patch corruption.
V4: Folded in softfloat bug fixes per Peter Maydell's request.
V5: Additional comments from Peter Maydell and Richard Henderson:
- proper handling of NaNs with negative signs in conversion routines.
- proper rounding of small negatives in float32_to_uint64
- simplification of max/min instructions using new softfloat routines.
- assorted commentary changes.
Tom Musta (22):
softfloat: Fix float64_to_uint64
softfloat: Add float32_to_uint64()
softfloat: Fix float64_to_uint64_round_to_zero
softfloat: Fix float64_to_uint32
softfloat: Fix float64_to_uint32_round_to_zero
target-ppc: Add set_fprf Argument to fload_invalid_op_excp()
target-ppc: General Support for VSX Helpers
target-ppc: Add VSX ISA2.06 xadd/xsub Instructions
target-ppc: Add VSX ISA2.06 xmul Instructions
target-ppc: Add VSX ISA2.06 xdiv Instructions
target-ppc: Add VSX ISA2.06 xre Instructions
target-ppc: Add VSX ISA2.06 xsqrt Instructions
target-ppc: Add VSX ISA2.06 xrsqrte Instructions
target-ppc: Add VSX ISA2.06 xtdiv Instructions
target-ppc: Add VSX ISA2.06 xtsqrt Instructions
target-ppc: Add VSX ISA2.06 Multiply Add Instructions
target-ppc: Add VSX xscmp*dp Instructions
target-ppc: Add VSX xmax/xmin Instructions
target-ppc: Add VSX Vector Compare Instructions
target-ppc: Add VSX Floating Point to Floating Point Conversion
Instructions
target-ppc: Add VSX ISA2.06 Integer Conversion Instructions
target-ppc: Add VSX Rounding Instructions
fpu/softfloat.c | 191 ++++++++--
include/fpu/softfloat.h | 1 +
target-ppc/fpu_helper.c | 991 ++++++++++++++++++++++++++++++++++++++++++++---
target-ppc/helper.h | 109 ++++++
target-ppc/translate.c | 243 ++++++++++++
5 files changed, 1455 insertions(+), 80 deletions(-)
next reply other threads:[~2014-01-02 22:21 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-02 22:21 Tom Musta [this message]
2014-01-02 22:21 ` [Qemu-devel] [V5 PATCH 01/22] softfloat: Fix float64_to_uint64 Tom Musta
2014-01-06 12:54 ` Peter Maydell
2014-01-02 22:21 ` [Qemu-devel] [V5 PATCH 02/22] softfloat: Add float32_to_uint64() Tom Musta
2014-01-06 12:54 ` Peter Maydell
2014-01-02 22:21 ` [Qemu-devel] [V5 PATCH 03/22] softfloat: Fix float64_to_uint64_round_to_zero Tom Musta
2014-01-02 22:21 ` [Qemu-devel] [V5 PATCH 04/22] softfloat: Fix float64_to_uint32 Tom Musta
2014-01-02 22:21 ` [Qemu-devel] [V5 PATCH 05/22] softfloat: Fix float64_to_uint32_round_to_zero Tom Musta
2014-01-02 22:21 ` [Qemu-devel] [V5 PATCH 06/22] target-ppc: Add set_fprf Argument to fload_invalid_op_excp() Tom Musta
2014-01-02 22:21 ` [Qemu-devel] [V5 PATCH 07/22] target-ppc: General Support for VSX Helpers Tom Musta
2014-01-02 22:21 ` [Qemu-devel] [V5 PATCH 08/22] target-ppc: Add VSX ISA2.06 xadd/xsub Instructions Tom Musta
2014-01-02 22:21 ` [Qemu-devel] [V5 PATCH 09/22] target-ppc: Add VSX ISA2.06 xmul Instructions Tom Musta
2014-01-02 22:21 ` [Qemu-devel] [V5 PATCH 10/22] target-ppc: Add VSX ISA2.06 xdiv Instructions Tom Musta
2014-01-02 22:21 ` [Qemu-devel] [V5 PATCH 11/22] target-ppc: Add VSX ISA2.06 xre Instructions Tom Musta
2014-01-02 22:21 ` [Qemu-devel] [V5 PATCH 12/22] target-ppc: Add VSX ISA2.06 xsqrt Instructions Tom Musta
2014-01-02 22:21 ` [Qemu-devel] [V5 PATCH 13/22] target-ppc: Add VSX ISA2.06 xrsqrte Instructions Tom Musta
2014-01-02 22:21 ` [Qemu-devel] [V5 PATCH 14/22] target-ppc: Add VSX ISA2.06 xtdiv Instructions Tom Musta
2014-01-02 22:21 ` [Qemu-devel] [V5 PATCH 15/22] target-ppc: Add VSX ISA2.06 xtsqrt Instructions Tom Musta
2014-01-02 22:21 ` [Qemu-devel] [V5 PATCH 16/22] target-ppc: Add VSX ISA2.06 Multiply Add Instructions Tom Musta
2014-01-02 22:21 ` [Qemu-devel] [V5 PATCH 17/22] target-ppc: Add VSX xscmp*dp Instructions Tom Musta
2014-01-02 22:21 ` [Qemu-devel] [V5 PATCH 18/22] target-ppc: Add VSX xmax/xmin Instructions Tom Musta
2014-01-02 22:21 ` [Qemu-devel] [V5 PATCH 19/22] target-ppc: Add VSX Vector Compare Instructions Tom Musta
2014-01-02 22:21 ` [Qemu-devel] [V5 PATCH 20/22] target-ppc: Add VSX Floating Point to Floating Point Conversion Instructions Tom Musta
2014-01-02 22:21 ` [Qemu-devel] [V5 PATCH 21/22] target-ppc: Add VSX ISA2.06 Integer " Tom Musta
2014-01-02 22:21 ` [Qemu-devel] [V5 PATCH 22/22] target-ppc: Add VSX Rounding Instructions Tom Musta
2014-01-27 15:40 ` [Qemu-devel] [Qemu-ppc] [V5 PATCH 00/22] target-ppc: PowerPC VSX Stage 3 Alexander Graf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1388701295-29855-1-git-send-email-tommusta@gmail.com \
--to=tommusta@gmail.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).