qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1 0/6] s390x/tcg: Vector instruction fixes
@ 2019-10-18 16:10 David Hildenbrand
  2019-10-18 16:10 ` [PATCH v1 1/6] s390x/tcg: Fix VECTOR MULTIPLY LOGICAL ODD David Hildenbrand
                   ` (5 more replies)
  0 siblings, 6 replies; 17+ messages in thread
From: David Hildenbrand @ 2019-10-18 16:10 UTC (permalink / raw)
  To: qemu-devel
  Cc: Thomas Huth, David Hildenbrand, Ivan Warren, Cornelia Huck,
	Richard Henderson, qemu-s390x

Ivan reported that a simple
    $ go get -v -d github.com/FactomProject/factom

Will result in errors when vector instructions are in use. Turns out
golang makes excessive use of vector instructions, e.g., for crypto, hashes
but also basic math.

I tracked the involved vector instructions and started writing more
tests for them (will upstream them once they are in a better shape). Turns
out there are quite some issues remaining. golang uses instructions not
yet used by the kernel or by glibc.

With these patches, "go get" works again. It wouldn't surprise me if there
are more BUGs in the vector instructions. Will continue writing more tests.

Cc: Ivan Warren <ivan@vmfacility.fr>

David Hildenbrand (6):
  s390x/tcg: Fix VECTOR MULTIPLY LOGICAL ODD
  s390x/tcg: Fix VECTOR MULTIPLY AND ADD *
  s390x/tcg: Fix VECTOR SHIFT RIGHT ARITHMETIC BY BYTE
  s390x/tcg: Fix VECTOR SUBTRACT COMPUTE BORROW INDICATION
  s390x/tcg: Fix VECTOR SUBTRACT WITH BORROW INDICATION
  s390x/tcg: Fix VECTOR SUBTRACT WITH BORROW COMPUTE BORROW INDICATION

 target/s390x/helper.h           |  2 -
 target/s390x/translate_vx.inc.c | 78 +++++++++++++++++++++++++--------
 target/s390x/vec_int_helper.c   | 32 ++++----------
 3 files changed, 68 insertions(+), 44 deletions(-)

-- 
2.21.0



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

end of thread, other threads:[~2019-10-21  8:07 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-10-18 16:10 [PATCH v1 0/6] s390x/tcg: Vector instruction fixes David Hildenbrand
2019-10-18 16:10 ` [PATCH v1 1/6] s390x/tcg: Fix VECTOR MULTIPLY LOGICAL ODD David Hildenbrand
2019-10-18 19:05   ` Richard Henderson
2019-10-18 16:10 ` [PATCH v1 2/6] s390x/tcg: Fix VECTOR MULTIPLY AND ADD * David Hildenbrand
2019-10-18 19:05   ` Richard Henderson
2019-10-18 16:10 ` [PATCH v1 3/6] s390x/tcg: Fix VECTOR SHIFT RIGHT ARITHMETIC BY BYTE David Hildenbrand
2019-10-18 19:06   ` Richard Henderson
2019-10-18 16:10 ` [PATCH v1 4/6] s390x/tcg: Fix VECTOR SUBTRACT COMPUTE BORROW INDICATION David Hildenbrand
2019-10-18 17:41   ` David Hildenbrand
2019-10-18 18:18     ` David Hildenbrand
2019-10-18 18:52       ` Richard Henderson
2019-10-18 16:10 ` [PATCH v1 5/6] s390x/tcg: Fix VECTOR SUBTRACT WITH " David Hildenbrand
2019-10-18 19:11   ` Richard Henderson
2019-10-21  8:06     ` David Hildenbrand
2019-10-18 16:10 ` [PATCH v1 6/6] s390x/tcg: Fix VECTOR SUBTRACT WITH BORROW COMPUTE " David Hildenbrand
2019-10-18 18:55   ` Richard Henderson
2019-10-21  8:02     ` David Hildenbrand

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).