qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: David Hildenbrand <david@redhat.com>
To: qemu-devel@nongnu.org
Cc: Thomas Huth <thuth@redhat.com>,
	David Hildenbrand <david@redhat.com>,
	Cornelia Huck <cohuck@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eric Farman <farman@linux.ibm.com>,
	David Miller <dmiller423@gmail.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	qemu-s390x@nongnu.org,
	Christian Borntraeger <borntraeger@linux.ibm.com>
Subject: [PATCH v6 00/13] s390x/tcg: Implement Vector-Enhancements Facility 2
Date: Thu, 28 Apr 2022 11:46:55 +0200	[thread overview]
Message-ID: <20220428094708.84835-1-david@redhat.com> (raw)

Implement Vector-Enhancements Facility 2 for s390x

resolves: https://gitlab.com/qemu-project/qemu/-/issues/738

implements:
    VECTOR LOAD ELEMENTS REVERSED               (VLER)
    VECTOR LOAD BYTE REVERSED ELEMENTS          (VLBR)
    VECTOR LOAD BYTE REVERSED ELEMENT           (VLEBRH, VLEBRF, VLEBRG)
    VECTOR LOAD BYTE REVERSED ELEMENT AND ZERO  (VLLEBRZ)
    VECTOR LOAD BYTE REVERSED ELEMENT AND REPLICATE (VLBRREP)
    VECTOR STORE ELEMENTS REVERSED              (VSTER)
    VECTOR STORE BYTE REVERSED ELEMENTS         (VSTBR)
    VECTOR STORE BYTE REVERSED ELEMENTS         (VSTEBRH, VSTEBRF, VSTEBRG)
    VECTOR SHIFT LEFT DOUBLE BY BIT             (VSLD)
    VECTOR SHIFT RIGHT DOUBLE BY BIT            (VSRD)
    VECTOR STRING SEARCH                        (VSTRS)

    modifies:
    VECTOR FP CONVERT FROM FIXED                (VCFPS)
    VECTOR FP CONVERT FROM LOGICAL              (VCFPL)
    VECTOR FP CONVERT TO FIXED                  (VCSFP)
    VECTOR FP CONVERT TO LOGICAL                (VCLFP)
    VECTOR SHIFT LEFT                           (VSL)
    VECTOR SHIFT RIGHT ARITHMETIC               (VSRA)
    VECTOR SHIFT RIGHT LOGICAL                  (VSRL)


v5 -> v6:
* Move fix to #1
* Include max CPU model cleanups
* "target/s390x: add S390_FEAT_VECTOR_ENH2 to qemu CPU model"
 -> Take care of compat machines
* "tests/tcg/s390x: Tests for Vector Enhancements Facility 2"
 -> Add missing newline to end of header file
 -> Resolve simple conflict in Makefile

Cc: Thomas Huth <thuth@redhat.com>
Cc: Richard Henderson <richard.henderson@linaro.org>
Cc: David Miller <dmiller423@gmail.com>
Cc: Christian Borntraeger <borntraeger@linux.ibm.com>
Cc: Cornelia Huck <cohuck@redhat.com>
Cc: Halil Pasic <pasic@linux.ibm.com>
Cc: Eric Farman <farman@linux.ibm.com>

David Hildenbrand (2):
  s390x/cpu_models: drop "msa5" from the TCG "max" model
  s390x/cpu_models: make "max" match the unmodified "qemu" CPU model
    under TCG

David Miller (9):
  target/s390x: vxeh2: vector convert short/32b
  target/s390x: vxeh2: vector string search
  target/s390x: vxeh2: Update for changes to vector shifts
  target/s390x: vxeh2: vector shift double by bit
  target/s390x: vxeh2: vector {load, store} elements reversed
  target/s390x: vxeh2: vector {load, store} byte reversed elements
  target/s390x: vxeh2: vector {load, store} byte reversed element
  target/s390x: add S390_FEAT_VECTOR_ENH2 to qemu CPU model
  tests/tcg/s390x: Tests for Vector Enhancements Facility 2

Richard Henderson (2):
  target/s390x: Fix writeback to v1 in helper_vstl
  tcg: Implement tcg_gen_{h,w}swap_{i32,i64}

 hw/s390x/s390-virtio-ccw.c           |   3 +
 include/tcg/tcg-op.h                 |   6 +
 target/s390x/cpu_models.c            |  26 +-
 target/s390x/gen-features.c          |  14 +-
 target/s390x/helper.h                |  13 +
 target/s390x/tcg/insn-data.def       |  40 ++-
 target/s390x/tcg/translate.c         |   3 +-
 target/s390x/tcg/translate_vx.c.inc  | 461 ++++++++++++++++++++++++---
 target/s390x/tcg/vec_fpu_helper.c    |  31 ++
 target/s390x/tcg/vec_helper.c        |   2 -
 target/s390x/tcg/vec_int_helper.c    |  55 ++++
 target/s390x/tcg/vec_string_helper.c |  99 ++++++
 tcg/tcg-op.c                         |  30 ++
 tests/tcg/s390x/Makefile.target      |   8 +
 tests/tcg/s390x/vx.h                 |  19 ++
 tests/tcg/s390x/vxeh2_vcvt.c         |  88 +++++
 tests/tcg/s390x/vxeh2_vlstr.c        | 139 ++++++++
 tests/tcg/s390x/vxeh2_vs.c           |  93 ++++++
 18 files changed, 1051 insertions(+), 79 deletions(-)
 create mode 100644 tests/tcg/s390x/vx.h
 create mode 100644 tests/tcg/s390x/vxeh2_vcvt.c
 create mode 100644 tests/tcg/s390x/vxeh2_vlstr.c
 create mode 100644 tests/tcg/s390x/vxeh2_vs.c

-- 
2.35.1



             reply	other threads:[~2022-04-28 10:01 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-28  9:46 David Hildenbrand [this message]
2022-04-28  9:46 ` [PATCH v6 01/13] target/s390x: Fix writeback to v1 in helper_vstl David Hildenbrand
2022-04-28  9:46 ` [PATCH v6 02/13] s390x/cpu_models: drop "msa5" from the TCG "max" model David Hildenbrand
2022-04-28  9:46 ` [PATCH v6 03/13] s390x/cpu_models: make "max" match the unmodified "qemu" CPU model under TCG David Hildenbrand
2022-04-28  9:46 ` [PATCH v6 04/13] tcg: Implement tcg_gen_{h,w}swap_{i32,i64} David Hildenbrand
2022-04-28  9:47 ` [PATCH v6 05/13] target/s390x: vxeh2: vector convert short/32b David Hildenbrand
2022-04-28  9:47 ` [PATCH v6 06/13] target/s390x: vxeh2: vector string search David Hildenbrand
2022-04-28  9:47 ` [PATCH v6 07/13] target/s390x: vxeh2: Update for changes to vector shifts David Hildenbrand
2022-04-28  9:47 ` [PATCH v6 08/13] target/s390x: vxeh2: vector shift double by bit David Hildenbrand
2022-04-28  9:47 ` [PATCH v6 09/13] target/s390x: vxeh2: vector {load, store} elements reversed David Hildenbrand
2022-04-28  9:47 ` [PATCH v6 10/13] target/s390x: vxeh2: vector {load, store} byte reversed elements David Hildenbrand
2022-04-28  9:47 ` [PATCH v6 11/13] target/s390x: vxeh2: vector {load, store} byte reversed element David Hildenbrand
2022-04-28  9:47 ` [PATCH v6 12/13] target/s390x: add S390_FEAT_VECTOR_ENH2 to qemu CPU model David Hildenbrand
2022-04-28  9:47 ` [PATCH v6 13/13] tests/tcg/s390x: Tests for Vector Enhancements Facility 2 David Hildenbrand
2022-05-02  8:12   ` Thomas Huth
2022-05-02  9:10     ` Thomas Huth
2022-05-02  9:35   ` Thomas Huth
2022-05-02  7:20 ` [PATCH v6 00/13] s390x/tcg: Implement Vector-Enhancements " Thomas Huth
2022-05-02 15:52   ` David Hildenbrand
2022-05-02 16:06     ` David Miller
2022-05-03  6:55       ` Thomas Huth
2022-05-03 14:42         ` David Miller
2022-05-03 14:57           ` David Miller
2022-05-03 14:57             ` David Miller
2022-05-04  8:28             ` Thomas Huth
2022-05-04  9:10           ` Thomas Huth

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=20220428094708.84835-1-david@redhat.com \
    --to=david@redhat.com \
    --cc=borntraeger@linux.ibm.com \
    --cc=cohuck@redhat.com \
    --cc=dmiller423@gmail.com \
    --cc=farman@linux.ibm.com \
    --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 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).