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