qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v4 00/26] s390x/tcg: Implement Vector enhancements facility a


From: Cornelia Huck
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
User-agent: Notmuch/0.32.1 (https://notmuchmail.org)

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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]