[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[qemu-s390x] [PATCH v2 0/5] s390x/tcg: Vector Instruction Support Part 3
From: |
David Hildenbrand |
Subject: |
[qemu-s390x] [PATCH v2 0/5] s390x/tcg: Vector Instruction Support Part 3 |
Date: |
Fri, 24 May 2019 11:33:30 +0200 |
This is the third part of vector instruction support for s390x. It is based
on part 2, which is will send a pull-request for to Conny soon.
Part 1: Vector Support Instructions
Part 2: Vector Integer Instructions
Part 3: Vector String Instructions
Part 4: Vector Floating-Point Instructions
The current state can be found at (kept updated):
https://github.com/davidhildenbrand/qemu/tree/vx
With the current state I can boot Linux kernel + user space compiled with
SIMD support. This allows to boot distributions compiled exclusively for
z13, requiring SIMD support. Also, it is now possible to build a complete
kernel using rpmbuild as quite some issues have been sorted out.
In this part, all Vector String Instructions introduced with the
"Vector Facility" are added.
v1 -> v2:
- Use the fancy bit-tricks from Richard to rewrite most string instructions
- Create specialized variants for "VECTOR STRING RANGE COMPARE", so the
compiler can optimize out the rt/!rt handling code.
David Hildenbrand (5):
s390x/tcg: Implement VECTOR FIND ANY ELEMENT EQUAL
s390x/tcg: Implement VECTOR FIND ELEMENT EQUAL
s390x/tcg: Implement VECTOR FIND ELEMENT NOT EQUAL
s390x/tcg: Implement VECTOR ISOLATE STRING
s390x/tcg: Implement VECTOR STRING RANGE COMPARE
target/s390x/Makefile.objs | 2 +-
target/s390x/helper.h | 38 +++
target/s390x/insn-data.def | 13 +
target/s390x/translate_vx.inc.c | 185 ++++++++++++
target/s390x/vec.h | 40 +++
target/s390x/vec_string_helper.c | 473 +++++++++++++++++++++++++++++++
6 files changed, 750 insertions(+), 1 deletion(-)
create mode 100644 target/s390x/vec_string_helper.c
--
2.20.1
- [qemu-s390x] [PATCH v2 0/5] s390x/tcg: Vector Instruction Support Part 3,
David Hildenbrand <=