qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: David Hildenbrand <david@redhat.com>
To: qemu-devel@nongnu.org
Cc: qemu-s390x@nongnu.org, Thomas Huth <thuth@redhat.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@de.ibm.com>,
	Janosch Frank <frankja@linux.ibm.com>,
	Cornelia Huck <cohuck@redhat.com>,
	Richard Henderson <rth@twiddle.net>,
	David Hildenbrand <david@redhat.com>
Subject: [Qemu-devel] [PATCH v3 00/15] s390x/tcg: Implement floating-point extension facility
Date: Mon, 18 Feb 2019 13:26:55 +0100	[thread overview]
Message-ID: <20190218122710.23639-1-david@redhat.com> (raw)

This series is based on the patches currently on the list:
- [PATCH v2] softfloat: add float128_is_{normal,denormal}​
- [PATCH v1] softfloat: Implement float128_to_uint32
- [PATCH v2] softfloat: Support float_round_to_odd more places

For the KVM folks, only the last patch is of interest.

The floating-point extension facility seems to be used often without
checking by user space. Vector instruction support seems to somewhat also
rely on it being available. Some parts are already implemented, others
not or are broken.

Fix some stuff in fpu code, add some FIXMEs to indicate what is definetly
missing and implement all BFP stuff needed for the floating-point extension
facility. Finally, enable it for TCG, adding it to the CPU model for the
4.0 compat machine.

This series also contains some refactorings needed for floating-point
vector instruction support.

v2 -> v3:
- "s390x/tcg: Implement XxC and checks for most FP instructions"
-- Use extract32() with constant arithmetic
- Use float_round_to_odd and get rid of the corresponding FIXMEs. Thanks
  Richard!

v1 -> v2:
- "s390x/tcg: Fix TEST DATA CLASS instructions"
-- Simplify + use marko
- "s390x/tcg: Prepare for IEEE-inexact-exception control (XxC)"
-- Fix some whitespace/newline issues
- "s390x/tcg: Handle SET FPC AND LOAD FPC 3-bit BFP rounding modes"
-- If FPE is not installed, also bail out on 3rd BFP bit
- "s390x/tcg: Implement XxC and checks for most FP instructions"
-- Use helper functions to simplify checks+mangling+unmangling
-- Take care of FPE facility state
-- Fix that XxC is actually bit 1, not bit 0
- "s390x/tcg: Prepare for IEEE-inexact-exception control (XxC)"
-- Also use new helper functions

David Hildenbrand (15):
  s390x/tcg: Fix TEST DATA CLASS instructions
  s390x/tcg: Fix rounding from float128 to uint64_t/uin32_t
  s390x/tcg: Factor out conversion of softfloat exceptions
  s390x/tcg: Fix parts of IEEE exception handling
  s390x/tcg: Hide IEEE underflows in some scenarios
  s390x/tcg: Refactor SET FPC AND SIGNAL handling
  s390x/tcg: Fix simulated-IEEE exceptions
  s390x/tcg: Handle SET FPC AND LOAD FPC 3-bit BFP rounding modes
  s390x/tcg: Check for exceptions in SET BFP ROUNDING MODE
  s390x/tcg: Refactor saving/restoring the bfp rounding mode
  s390x/tcg: Prepare for IEEE-inexact-exception control (XxC)
  s390x/tcg: Implement XxC and checks for most FP instructions
  s390x/tcg: Implement rounding mode and XxC for LOAD ROUNDED
  s390x/tcg: Handle all rounding modes overwritten by BFP instructions
  s390x: Add floating-point extension facility to "qemu" cpu model

 target/s390x/fpu_helper.c   | 541 ++++++++++++++++++++++--------------
 target/s390x/gen-features.c |   5 +
 target/s390x/helper.h       |   9 +-
 target/s390x/insn-data.def  |  12 +-
 target/s390x/internal.h     |   9 +
 target/s390x/translate.c    | 315 ++++++++++++++-------
 6 files changed, 572 insertions(+), 319 deletions(-)

-- 
2.17.2

             reply	other threads:[~2019-02-18 12:27 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-18 12:26 David Hildenbrand [this message]
2019-02-18 12:26 ` [Qemu-devel] [PATCH v3 01/15] s390x/tcg: Fix TEST DATA CLASS instructions David Hildenbrand
2019-02-26 14:52   ` David Hildenbrand
2019-02-18 12:26 ` [Qemu-devel] [PATCH v3 02/15] s390x/tcg: Fix rounding from float128 to uint64_t/uin32_t David Hildenbrand
2019-02-18 12:26 ` [Qemu-devel] [PATCH v3 03/15] s390x/tcg: Factor out conversion of softfloat exceptions David Hildenbrand
2019-02-18 12:26 ` [Qemu-devel] [PATCH v3 04/15] s390x/tcg: Fix parts of IEEE exception handling David Hildenbrand
2019-02-18 12:27 ` [Qemu-devel] [PATCH v3 05/15] s390x/tcg: Hide IEEE underflows in some scenarios David Hildenbrand
2019-02-18 12:27 ` [Qemu-devel] [PATCH v3 06/15] s390x/tcg: Refactor SET FPC AND SIGNAL handling David Hildenbrand
2019-02-18 12:27 ` [Qemu-devel] [PATCH v3 07/15] s390x/tcg: Fix simulated-IEEE exceptions David Hildenbrand
2019-02-18 12:27 ` [Qemu-devel] [PATCH v3 08/15] s390x/tcg: Handle SET FPC AND LOAD FPC 3-bit BFP rounding modes David Hildenbrand
2019-02-26 14:54   ` David Hildenbrand
2019-02-18 12:27 ` [Qemu-devel] [PATCH v3 09/15] s390x/tcg: Check for exceptions in SET BFP ROUNDING MODE David Hildenbrand
2019-02-18 12:27 ` [Qemu-devel] [PATCH v3 10/15] s390x/tcg: Refactor saving/restoring the bfp rounding mode David Hildenbrand
2019-02-18 12:27 ` [Qemu-devel] [PATCH v3 11/15] s390x/tcg: Prepare for IEEE-inexact-exception control (XxC) David Hildenbrand
2019-02-18 12:27 ` [Qemu-devel] [PATCH v3 12/15] s390x/tcg: Implement XxC and checks for most FP instructions David Hildenbrand
2019-02-26 14:55   ` David Hildenbrand
2019-02-18 12:27 ` [Qemu-devel] [PATCH v3 13/15] s390x/tcg: Implement rounding mode and XxC for LOAD ROUNDED David Hildenbrand
2019-02-18 12:27 ` [Qemu-devel] [PATCH v3 14/15] s390x/tcg: Handle all rounding modes overwritten by BFP instructions David Hildenbrand
2019-02-18 12:27 ` [Qemu-devel] [PATCH v3 15/15] s390x: Add floating-point extension facility to "qemu" cpu model David Hildenbrand
2019-02-26 15:10   ` [Qemu-devel] [qemu-s390x] " Thomas Huth
2019-02-26 14:44 ` [Qemu-devel] [PATCH v3 00/15] s390x/tcg: Implement floating-point extension facility Cornelia Huck
2019-02-26 14:56   ` David Hildenbrand
2019-02-26 15:09     ` Cornelia Huck
2019-02-28 14:28 ` Cornelia Huck

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=20190218122710.23639-1-david@redhat.com \
    --to=david@redhat.com \
    --cc=borntraeger@de.ibm.com \
    --cc=cohuck@redhat.com \
    --cc=frankja@linux.ibm.com \
    --cc=pasic@linux.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=rth@twiddle.net \
    --cc=thuth@redhat.com \
    /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).