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.
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 | 32 +++
target/s390x/insn-data.def | 13 ++
target/s390x/translate_vx.inc.c | 164 ++++++++++++++
target/s390x/vec_string_helper.c | 358 +++++++++++++++++++++++++++++++
5 files changed, 568 insertions(+), 1 deletion(-)
create mode 100644 target/s390x/vec_string_helper.c
--
2.20.1