[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v5 00/11] s390x/tcg: Implement Vector-Enhancements Facility 2
From: |
David Miller |
Subject: |
[PATCH v5 00/11] s390x/tcg: Implement Vector-Enhancements Facility 2 |
Date: |
Wed, 23 Mar 2022 09:57:11 -0400 |
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)
David Miller (9):
tcg: Implement tcg_gen_{h,w}swap_{i32,i64}
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
target/s390x: Fix writeback to v1 in helper_vstl
Richard Henderson (2):
tcg: Implement tcg_gen_{h,w}swap_{i32,i64}
target/s390x: Fix writeback to v1 in helper_vstl
include/tcg/tcg-op.h | 6 +
target/s390x/gen-features.c | 2 +
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 ++++++
16 files changed, 1034 insertions(+), 55 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.34.1
- [PATCH v5 00/11] s390x/tcg: Implement Vector-Enhancements Facility 2,
David Miller <=
- [PATCH v5 01/11] tcg: Implement tcg_gen_{h,w}swap_{i32,i64}, David Miller, 2022/03/23
- [PATCH v5 02/11] target/s390x: vxeh2: vector convert short/32b, David Miller, 2022/03/23
- [PATCH v5 04/11] target/s390x: vxeh2: Update for changes to vector shifts, David Miller, 2022/03/23
- [PATCH v5 06/11] target/s390x: vxeh2: vector {load, store} elements reversed, David Miller, 2022/03/23
- [PATCH v5 10/11] tests/tcg/s390x: Tests for Vector Enhancements Facility 2, David Miller, 2022/03/23
- [PATCH v5 11/11] target/s390x: Fix writeback to v1 in helper_vstl, David Miller, 2022/03/23
- [PATCH v5 03/11] target/s390x: vxeh2: vector string search, David Miller, 2022/03/23
- [PATCH v5 05/11] target/s390x: vxeh2: vector shift double by bit, David Miller, 2022/03/23
- [PATCH v5 07/11] target/s390x: vxeh2: vector {load, store} byte reversed elements, David Miller, 2022/03/23