All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cornelia Huck <cohuck@redhat.com>
To: David Hildenbrand <david@redhat.com>, qemu-devel@nongnu.org
Cc: Thomas Huth <thuth@redhat.com>,
	David Hildenbrand <david@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@de.ibm.com>,
	qemu-s390x@nongnu.org
Subject: Re: [PATCH v4 00/26] s390x/tcg: Implement Vector enhancements facility and switch to z14
Date: Wed, 09 Jun 2021 11:09:40 +0200	[thread overview]
Message-ID: <87im2n1k17.fsf@redhat.com> (raw)
In-Reply-To: <20210608092337.12221-1-david@redhat.com>

On Tue, Jun 08 2021, David Hildenbrand <david@redhat.com> wrote:

> @Conny, I think this should be good to go.
>
>
> This series adds support for the "Vector enhancements facility" and bumps
> the qemu CPU model to a stripped-down z14.
>
> I tested most vector FP instructions by generating random instructions
> and vectors, comparing the result with results on actual hardware. I did
> not test instructions/instruction variants with (partial) undeterministic
> behavior and exception handling.
>
> Linux' also seems to boot/work fine with it. Howeever, while testing this
> series I noticed that Linux checks for the wrong facility bit - see [1].
> I tested by temporarily faking availability of the "wrong" facility bit.
>
> [1] https://lkml.kernel.org/r/20210503121244.25232-1-david@redhat.com
>
> v3 -> v4:
> - "s390x/tcg: Implement VECTOR FP (MAXIMUM|MINIMUM)"
> -- Move "const bool ..." into respective blocks
> - "linux-user: elf: s390x: Prepare for Vector enhancements facility"
> -- Add all currently defined Linux HWCAP.
>
> v2 -> v3:
> - "s390x/tcg: Fix FP CONVERT TO (LOGICAL) FIXED NaN handling"
> -- Keep proper signal handling in the VECTOR variants
> - "s390x/tcg: Simplify vop64_2() handling"
> -- uint64_t se -> bool se
> - "s390x/tcg: Implement VECTOR FP (MAXIMUM|MINIMUM)"
> -- Drop special cases when both values are infinity
> -- Simplify cases when both values are zero
> -- Simplify dcmask handling
> -- uint64_t se -> bool se
> - "linux-user: elf: Prepare for Vector enhancements facility"
> -- Added to properly indicate the new elf capability
>
> v1 -> v2:
> - Too much changed to spell it out explicitly. Mostly addressed feedback
>   from Richard, a couple of bugfixes found while testing, and some
>   simplifications/cleanups.
> - Rebased on top of Richard's softfloat rework
>
> Cc: qemu-s390x@nongnu.org
> Cc: Cornelia Huck <cohuck@redhat.com>
> Cc: Halil Pasic <pasic@linux.ibm.com>
> Cc: Christian Borntraeger <borntraeger@de.ibm.com>
> Cc: Thomas Huth <thuth@redhat.com>
> Cc: Richard Henderson <richard.henderson@linaro.org>
> Cc: Laurent Vivier <laurent@vivier.eu>
>
>
> David Hildenbrand (26):
>   s390x/tcg: Fix FP CONVERT TO (LOGICAL) FIXED NaN handling
>   s390x/tcg: Fix instruction name for VECTOR FP LOAD
>     (LENGTHENED|ROUNDED)
>   s390x/tcg: Simplify vop64_3() handling
>   s390x/tcg: Simplify vop64_2() handling
>   s390x/tcg: Simplify vfc64() handling
>   s390x/tcg: Simplify vftci64() handling
>   s390x/tcg: Simplify vfma64() handling
>   s390x/tcg: Simplify vfll32() handling
>   s390x/tcg: Simplify vflr64() handling
>   s390x/tcg: Simplify wfc64() handling
>   s390x/tcg: Implement VECTOR BIT PERMUTE
>   s390x/tcg: Implement VECTOR MULTIPLY SUM LOGICAL
>   s390x/tcg: Implement 32/128 bit for VECTOR FP
>     (ADD|DIVIDE|MULTIPLY|SUBTRACT)
>   s390x/tcg: Implement 32/128 bit for VECTOR (LOAD FP INTEGER|FP SQUARE
>     ROOT)
>   s390x/tcg: Implement 32/128 bit for VECTOR FP COMPARE *
>   s390x/tcg: Implement 32/128 bit for VECTOR FP COMPARE (AND SIGNAL)
>     SCALAR
>   s390x/tcg: Implement 64 bit for VECTOR FP LOAD LENGTHENED
>   s390x/tcg: Implement 128 bit for VECTOR FP LOAD ROUNDED
>   s390x/tcg: Implement 32/128 bit for VECTOR FP PERFORM SIGN OPERATION
>   s390x/tcg: Implement 32/128 bit for VECTOR FP TEST DATA CLASS
>     IMMEDIATE
>   s390x/tcg: Implement 32/128 bit for VECTOR FP MULTIPLY AND
>     (ADD|SUBTRACT)
>   s390x/tcg: Implement VECTOR FP NEGATIVE MULTIPLY AND (ADD|SUBTRACT)
>   s390x/tcg: Implement VECTOR FP (MAXIMUM|MINIMUM)
>   linux-user: elf: s390x: Prepare for Vector enhancements facility
>   s390x/tcg: We support Vector enhancements facility
>   s390x/cpumodel: Bump up QEMU model to a stripped-down IBM z14 GA2
>
>  hw/s390x/s390-virtio-ccw.c      |    3 +
>  include/elf.h                   |    7 +
>  linux-user/elfload.c            |    1 +
>  target/s390x/cpu_models.c       |    4 +-
>  target/s390x/fpu_helper.c       |   41 +-
>  target/s390x/gen-features.c     |   14 +-
>  target/s390x/helper.h           |   70 +-
>  target/s390x/insn-data.def      |   16 +-
>  target/s390x/internal.h         |    9 +
>  target/s390x/translate_vx.c.inc |  633 ++++++++++++++----
>  target/s390x/vec_fpu_helper.c   | 1079 ++++++++++++++++++++++---------
>  target/s390x/vec_helper.c       |   22 +
>  12 files changed, 1428 insertions(+), 471 deletions(-)

Thanks, applied.



      parent reply	other threads:[~2021-06-09  9:10 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-08  9:23 [PATCH v4 00/26] s390x/tcg: Implement Vector enhancements facility and switch to z14 David Hildenbrand
2021-06-08  9:23 ` [PATCH v4 01/26] s390x/tcg: Fix FP CONVERT TO (LOGICAL) FIXED NaN handling David Hildenbrand
2021-06-08  9:23 ` [PATCH v4 02/26] s390x/tcg: Fix instruction name for VECTOR FP LOAD (LENGTHENED|ROUNDED) David Hildenbrand
2021-06-08  9:23 ` [PATCH v4 03/26] s390x/tcg: Simplify vop64_3() handling David Hildenbrand
2021-06-08  9:23 ` [PATCH v4 04/26] s390x/tcg: Simplify vop64_2() handling David Hildenbrand
2021-06-08  9:23 ` [PATCH v4 05/26] s390x/tcg: Simplify vfc64() handling David Hildenbrand
2021-06-08  9:23 ` [PATCH v4 06/26] s390x/tcg: Simplify vftci64() handling David Hildenbrand
2021-06-08  9:23 ` [PATCH v4 07/26] s390x/tcg: Simplify vfma64() handling David Hildenbrand
2021-06-08  9:23 ` [PATCH v4 08/26] s390x/tcg: Simplify vfll32() handling David Hildenbrand
2021-06-08  9:23 ` [PATCH v4 09/26] s390x/tcg: Simplify vflr64() handling David Hildenbrand
2021-06-08  9:23 ` [PATCH v4 10/26] s390x/tcg: Simplify wfc64() handling David Hildenbrand
2021-06-08  9:23 ` [PATCH v4 11/26] s390x/tcg: Implement VECTOR BIT PERMUTE David Hildenbrand
2021-06-08  9:23 ` [PATCH v4 12/26] s390x/tcg: Implement VECTOR MULTIPLY SUM LOGICAL David Hildenbrand
2021-06-08  9:23 ` [PATCH v4 13/26] s390x/tcg: Implement 32/128 bit for VECTOR FP (ADD|DIVIDE|MULTIPLY|SUBTRACT) David Hildenbrand
2021-06-08  9:23 ` [PATCH v4 14/26] s390x/tcg: Implement 32/128 bit for VECTOR (LOAD FP INTEGER|FP SQUARE ROOT) David Hildenbrand
2021-06-08  9:23 ` [PATCH v4 15/26] s390x/tcg: Implement 32/128 bit for VECTOR FP COMPARE * David Hildenbrand
2021-06-08  9:23 ` [PATCH v4 16/26] s390x/tcg: Implement 32/128 bit for VECTOR FP COMPARE (AND SIGNAL) SCALAR David Hildenbrand
2021-06-08  9:23 ` [PATCH v4 17/26] s390x/tcg: Implement 64 bit for VECTOR FP LOAD LENGTHENED David Hildenbrand
2021-06-08  9:23 ` [PATCH v4 18/26] s390x/tcg: Implement 128 bit for VECTOR FP LOAD ROUNDED David Hildenbrand
2021-06-08  9:23 ` [PATCH v4 19/26] s390x/tcg: Implement 32/128 bit for VECTOR FP PERFORM SIGN OPERATION David Hildenbrand
2021-06-08  9:23 ` [PATCH v4 20/26] s390x/tcg: Implement 32/128 bit for VECTOR FP TEST DATA CLASS IMMEDIATE David Hildenbrand
2021-06-08  9:23 ` [PATCH v4 21/26] s390x/tcg: Implement 32/128 bit for VECTOR FP MULTIPLY AND (ADD|SUBTRACT) David Hildenbrand
2021-06-08  9:23 ` [PATCH v4 22/26] s390x/tcg: Implement VECTOR FP NEGATIVE " David Hildenbrand
2021-06-08  9:23 ` [PATCH v4 23/26] s390x/tcg: Implement VECTOR FP (MAXIMUM|MINIMUM) David Hildenbrand
2021-06-08  9:23 ` [PATCH v4 24/26] linux-user: elf: s390x: Prepare for Vector enhancements facility David Hildenbrand
2021-06-08  9:23 ` [PATCH v4 25/26] s390x/tcg: We support " David Hildenbrand
2021-06-08  9:23 ` [PATCH v4 26/26] s390x/cpumodel: Bump up QEMU model to a stripped-down IBM z14 GA2 David Hildenbrand
2021-06-09  9:09 ` Cornelia Huck [this message]

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=87im2n1k17.fsf@redhat.com \
    --to=cohuck@redhat.com \
    --cc=borntraeger@de.ibm.com \
    --cc=david@redhat.com \
    --cc=laurent@vivier.eu \
    --cc=pasic@linux.ibm.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.