[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v6 00/13] s390x/tcg: Implement Vector-Enhancements Facility 2
From: |
David Hildenbrand |
Subject: |
[PATCH v6 00/13] s390x/tcg: Implement Vector-Enhancements Facility 2 |
Date: |
Thu, 28 Apr 2022 11:46:55 +0200 |
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
- [PATCH v6 00/13] s390x/tcg: Implement Vector-Enhancements Facility 2,
David Hildenbrand <=
- [PATCH v6 04/13] tcg: Implement tcg_gen_{h,w}swap_{i32,i64}, David Hildenbrand, 2022/04/28
- [PATCH v6 07/13] target/s390x: vxeh2: Update for changes to vector shifts, David Hildenbrand, 2022/04/28
- [PATCH v6 02/13] s390x/cpu_models: drop "msa5" from the TCG "max" model, David Hildenbrand, 2022/04/28
- [PATCH v6 01/13] target/s390x: Fix writeback to v1 in helper_vstl, David Hildenbrand, 2022/04/28
- [PATCH v6 05/13] target/s390x: vxeh2: vector convert short/32b, David Hildenbrand, 2022/04/28
- [PATCH v6 06/13] target/s390x: vxeh2: vector string search, David Hildenbrand, 2022/04/28
- [PATCH v6 03/13] s390x/cpu_models: make "max" match the unmodified "qemu" CPU model under TCG, David Hildenbrand, 2022/04/28
- [PATCH v6 12/13] target/s390x: add S390_FEAT_VECTOR_ENH2 to qemu CPU model, David Hildenbrand, 2022/04/28
- [PATCH v6 08/13] target/s390x: vxeh2: vector shift double by bit, David Hildenbrand, 2022/04/28
- [PATCH v6 09/13] target/s390x: vxeh2: vector {load, store} elements reversed, David Hildenbrand, 2022/04/28