All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v1 00/41] s390x/tcg: Vector Instruction Support Part 2
@ 2019-04-11 10:07 ` David Hildenbrand
  0 siblings, 0 replies; 152+ messages in thread
From: David Hildenbrand @ 2019-04-11 10:07 UTC (permalink / raw)
  To: qemu-devel
  Cc: qemu-s390x, Thomas Huth, Cornelia Huck, Richard Henderson,
	David Hildenbrand

This is the second part of vector instruction support for s390x. It is
based on the series soon to land upstream:
    [PATCH 0/9] tcg: Add tcg_gen_extract2_{i32,i64}

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 Integer Instructions introduced with the
"Vector Facility" are added. Some instructions part of the Vector Extension
Facilities are also added.

David Hildenbrand (41):
  tcg: Implement tcg_gen_gvec_3i()
  s390x/tcg: Implement VECTOR ADD
  s390x/tcg: Implement VECTOR ADD COMPUTE CARRY
  s390x/tcg: Implement VECTOR ADD WITH CARRY
  s390x/tcg: Implement VECTOR ADD WITH CARRY COMPUTE CARRY
  s390x/tcg: Implement VECTOR AND (WITH COMPLEMENT)
  s390x/tcg: Implement VECTOR AVERAGE
  s390x/tcg: Implement VECTOR AVERAGE LOGICAL
  s390x/tcg: Implement VECTOR CHECKSUM
  s390x/tcg: Implement VECTOR ELEMENT COMPARE *
  s390x/tcg: Implement VECTOR COMPARE *
  s390x/tcg: Implement VECTOR COUNT LEADING ZEROS
  s390x/tcg: Implement VECTOR COUNT TRAILING ZEROS
  s390x/tcg: Implement VECTOR EXCLUSIVE OR
  s390x/tcg: Implement VECTOR GALOIS FIELD MULTIPLY SUM (AND ACCUMULATE)
  s390x/tcg: Implement VECTOR LOAD COMPLEMENT
  s390x/tcg: Implement VECTOR LOAD POSITIVE
  s390x/tcg: Implement VECTOR (MAXIMUM|MINIMUM) (LOGICAL)
  s390x/tcg: Implement VECTOR MULTIPLY AND ADD *
  s390x/tcg: Implement VECTOR MULTIPLY *
  s390x/tcg: Implement VECTOR NAND
  s390x/tcg: Implement VECTOR NOR
  s390x/tcg: Implement VECTOR NOT EXCLUSIVE OR
  s390x/tcg: Implement VECTOR OR
  s390x/tcg: Implement VECTOR OR WITH COMPLEMENT
  s390x/tcg: Implement VECTOR POPULATION COUNT
  s390x/tcg: Implement VECTOR ELEMENT ROTATE LEFT LOGICAL
  s390x/tcg: Implement VECTOR ELEMENT ROTATE AND INSERT UNDER MASK
  s390x/tcg: Implement VECTOR ELEMENT SHIFT
  s390x/tcg: Implement VECTOR SHIFT LEFT (BY BYTE)
  s390x/tcg: Implement VECTOR SHIFT LEFT DOUBLE BY BYTE
  s390x/tcg: Implement VECTOR SHIFT RIGHT ARITHMETIC
  s390x/tcg: Implement VECTOR SHIFT RIGHT LOGICAL *
  s390x/tcg: Implement VECTOR SUBTRACT
  s390x/tcg: Implement VECTOR SUBTRACT COMPUTE BORROW INDICATION
  s390x/tcg: Implement VECTOR SUBTRACT WITH BORROW INDICATION
  s390x/tcg: Implement VECTOR SUBTRACT WITH BORROW COMPUTE BORROW
    INDICATION
  s390x/tcg: Implement VECTOR SUM ACROSS DOUBLEWORD
  s390x/tcg: Implement VECTOR SUM ACROSS QUADWORD
  s390x/tcg: Implement VECTOR SUM ACROSS WORD
  s390x/tcg: Implement VECTOR TEST UNDER MASK

 target/s390x/Makefile.objs      |    2 +-
 target/s390x/cc_helper.c        |   17 +
 target/s390x/helper.c           |    1 +
 target/s390x/helper.h           |   91 ++
 target/s390x/insn-data.def      |  137 +++
 target/s390x/internal.h         |    1 +
 target/s390x/translate.c        |    2 +
 target/s390x/translate_vx.inc.c | 1393 +++++++++++++++++++++++++++++++
 target/s390x/vec_int_helper.c   |  839 +++++++++++++++++++
 tcg/tcg-op-gvec.c               |  139 +++
 tcg/tcg-op-gvec.h               |   24 +
 11 files changed, 2645 insertions(+), 1 deletion(-)
 create mode 100644 target/s390x/vec_int_helper.c

-- 
2.20.1

^ permalink raw reply	[flat|nested] 152+ messages in thread

end of thread, other threads:[~2019-04-16 18:26 UTC | newest]

Thread overview: 152+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-11 10:07 [Qemu-devel] [PATCH v1 00/41] s390x/tcg: Vector Instruction Support Part 2 David Hildenbrand
2019-04-11 10:07 ` David Hildenbrand
2019-04-11 10:07 ` [Qemu-devel] [PATCH v1 01/41] tcg: Implement tcg_gen_gvec_3i() David Hildenbrand
2019-04-11 10:07   ` David Hildenbrand
2019-04-11 10:07 ` [Qemu-devel] [PATCH v1 02/41] s390x/tcg: Implement VECTOR ADD David Hildenbrand
2019-04-11 10:07   ` David Hildenbrand
2019-04-12 18:28   ` Richard Henderson
2019-04-12 18:28     ` Richard Henderson
2019-04-11 10:07 ` [Qemu-devel] [PATCH v1 03/41] s390x/tcg: Implement VECTOR ADD COMPUTE CARRY David Hildenbrand
2019-04-11 10:07   ` David Hildenbrand
2019-04-12 21:05   ` Richard Henderson
2019-04-12 21:05     ` Richard Henderson
2019-04-16  8:01     ` David Hildenbrand
2019-04-16  8:01       ` David Hildenbrand
2019-04-16  8:17       ` Richard Henderson
2019-04-16  8:17         ` Richard Henderson
2019-04-16  8:33         ` David Hildenbrand
2019-04-16  8:33           ` David Hildenbrand
2019-04-16  8:43           ` Richard Henderson
2019-04-16  8:43             ` Richard Henderson
2019-04-16  8:46             ` David Hildenbrand
2019-04-16  8:46               ` David Hildenbrand
2019-04-11 10:07 ` [Qemu-devel] [PATCH v1 04/41] s390x/tcg: Implement VECTOR ADD WITH CARRY David Hildenbrand
2019-04-11 10:07   ` David Hildenbrand
2019-04-12 21:36   ` Richard Henderson
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 05/41] s390x/tcg: Implement VECTOR ADD WITH CARRY COMPUTE CARRY David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-12 21:58   ` Richard Henderson
2019-04-16  8:40     ` David Hildenbrand
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 06/41] s390x/tcg: Implement VECTOR AND (WITH COMPLEMENT) David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-12 21:59   ` Richard Henderson
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 07/41] s390x/tcg: Implement VECTOR AVERAGE David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-12 22:34   ` Richard Henderson
2019-04-16  8:52     ` David Hildenbrand
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 08/41] s390x/tcg: Implement VECTOR AVERAGE LOGICAL David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-12 22:35   ` Richard Henderson
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 09/41] s390x/tcg: Implement VECTOR CHECKSUM David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-12 23:01   ` Richard Henderson
2019-04-16  8:58     ` David Hildenbrand
2019-04-16  9:08       ` Richard Henderson
2019-04-16  9:13         ` David Hildenbrand
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 10/41] s390x/tcg: Implement VECTOR ELEMENT COMPARE * David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-12 23:14   ` Richard Henderson
2019-04-16  9:05     ` David Hildenbrand
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 11/41] s390x/tcg: Implement VECTOR " David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-12 23:17   ` Richard Henderson
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 12/41] s390x/tcg: Implement VECTOR COUNT LEADING ZEROS David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-12 23:21   ` Richard Henderson
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 13/41] s390x/tcg: Implement VECTOR COUNT TRAILING ZEROS David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-12 23:23   ` Richard Henderson
2019-04-16  9:07     ` David Hildenbrand
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 14/41] s390x/tcg: Implement VECTOR EXCLUSIVE OR David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-12 23:23   ` Richard Henderson
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 15/41] s390x/tcg: Implement VECTOR GALOIS FIELD MULTIPLY SUM (AND ACCUMULATE) David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-12 23:44   ` Richard Henderson
2019-04-16  9:10     ` David Hildenbrand
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 16/41] s390x/tcg: Implement VECTOR LOAD COMPLEMENT David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-12 23:47   ` Richard Henderson
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 17/41] s390x/tcg: Implement VECTOR LOAD POSITIVE David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-12 23:50   ` Richard Henderson
2019-04-16  9:16     ` David Hildenbrand
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 18/41] s390x/tcg: Implement VECTOR (MAXIMUM|MINIMUM) (LOGICAL) David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-12 23:51   ` Richard Henderson
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 19/41] s390x/tcg: Implement VECTOR MULTIPLY AND ADD * David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-13  0:01   ` Richard Henderson
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 20/41] s390x/tcg: Implement VECTOR MULTIPLY * David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-13  0:04   ` Richard Henderson
2019-04-16  9:23     ` David Hildenbrand
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 21/41] s390x/tcg: Implement VECTOR NAND David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-13  0:05   ` Richard Henderson
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 22/41] s390x/tcg: Implement VECTOR NOR David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-13  0:05   ` Richard Henderson
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 23/41] s390x/tcg: Implement VECTOR NOT EXCLUSIVE OR David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-13  0:06   ` Richard Henderson
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 24/41] s390x/tcg: Implement VECTOR OR David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-13  0:06   ` Richard Henderson
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 25/41] s390x/tcg: Implement VECTOR OR WITH COMPLEMENT David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-13  0:07   ` Richard Henderson
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 26/41] s390x/tcg: Implement VECTOR POPULATION COUNT David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-13  0:08   ` Richard Henderson
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 27/41] s390x/tcg: Implement VECTOR ELEMENT ROTATE LEFT LOGICAL David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-13  0:15   ` Richard Henderson
2019-04-16  9:27     ` David Hildenbrand
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 28/41] s390x/tcg: Implement VECTOR ELEMENT ROTATE AND INSERT UNDER MASK David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-13  0:29   ` Richard Henderson
2019-04-16  9:35     ` David Hildenbrand
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 29/41] s390x/tcg: Implement VECTOR ELEMENT SHIFT David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-13  0:31   ` Richard Henderson
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 30/41] s390x/tcg: Implement VECTOR SHIFT LEFT (BY BYTE) David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-13  0:36   ` Richard Henderson
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 31/41] s390x/tcg: Implement VECTOR SHIFT LEFT DOUBLE BY BYTE David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-13  0:54   ` Richard Henderson
2019-04-16  9:45     ` David Hildenbrand
2019-04-16 15:21       ` Richard Henderson
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 32/41] s390x/tcg: Implement VECTOR SHIFT RIGHT ARITHMETIC David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-13  5:48   ` Richard Henderson
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 33/41] s390x/tcg: Implement VECTOR SHIFT RIGHT LOGICAL * David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-13  5:48   ` Richard Henderson
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 34/41] s390x/tcg: Implement VECTOR SUBTRACT David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-13  5:49   ` Richard Henderson
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 35/41] s390x/tcg: Implement VECTOR SUBTRACT COMPUTE BORROW INDICATION David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-13  5:51   ` Richard Henderson
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 36/41] s390x/tcg: Implement VECTOR SUBTRACT WITH " David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-13  5:52   ` Richard Henderson
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 37/41] s390x/tcg: Implement VECTOR SUBTRACT WITH BORROW COMPUTE " David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-13  6:11   ` Richard Henderson
2019-04-16 18:26     ` David Hildenbrand
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 38/41] s390x/tcg: Implement VECTOR SUM ACROSS DOUBLEWORD David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-13  6:15   ` Richard Henderson
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 39/41] s390x/tcg: Implement VECTOR SUM ACROSS QUADWORD David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-13  6:17   ` Richard Henderson
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 40/41] s390x/tcg: Implement VECTOR SUM ACROSS WORD David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-13  6:19   ` Richard Henderson
2019-04-11 10:08 ` [Qemu-devel] [PATCH v1 41/41] s390x/tcg: Implement VECTOR TEST UNDER MASK David Hildenbrand
2019-04-11 10:08   ` David Hildenbrand
2019-04-13  6:28   ` Richard Henderson
2019-04-16 18:20     ` David Hildenbrand

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.