qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH v2 0/5] s390x/tcg: Vector Instruction Support Part 3


From: David Hildenbrand
Subject: [Qemu-devel] [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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]