qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [V5 PATCH 00/22] target-ppc: PowerPC VSX Stage 3
@ 2014-01-02 22:21 Tom Musta
  2014-01-02 22:21 ` [Qemu-devel] [V5 PATCH 01/22] softfloat: Fix float64_to_uint64 Tom Musta
                   ` (22 more replies)
  0 siblings, 23 replies; 26+ messages in thread
From: Tom Musta @ 2014-01-02 22:21 UTC (permalink / raw)
  To: qemu-devel; +Cc: Tom Musta, qemu-ppc

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(-)

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2014-01-27 15:40 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-02 22:21 [Qemu-devel] [V5 PATCH 00/22] target-ppc: PowerPC VSX Stage 3 Tom Musta
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

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).