]> git.proxmox.com Git - mirror_qemu.git/commit
s390x/tcg: Implement VECTOR LOAD TO BLOCK BOUNDARY
authorDavid Hildenbrand <david@redhat.com>
Thu, 7 Mar 2019 12:15:21 +0000 (13:15 +0100)
committerCornelia Huck <cohuck@redhat.com>
Mon, 11 Mar 2019 08:31:01 +0000 (09:31 +0100)
commit60e9e3f1b0117a3aefd4a8047168f1c20f6c9013
treed6e00fd62c6110d65549451b0ec6c3299246e6c7
parent0a85f8257aa9aac4b71b9d57fa8e250321163aea
s390x/tcg: Implement VECTOR LOAD TO BLOCK BOUNDARY

Very similar to LOAD COUNT TO BLOCK BOUNDARY, but instead of only
calculating, the actual vector is loaded. Use a temporary vector to
not modify the real vector on exceptions. Initialize that one to zero,
to not leak any data. Provide a fast path if we're loading a full
vector.

As we don't have gvec ool handlers for single vectors, just calculate
the vector address manually.

We can reuse the helper later on for VECTOR LOAD WITH LENGTH. In fact,
we are going to name it "vll" right from the beginning, because that's
a better match.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20190307121539.12842-15-david@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
target/s390x/Makefile.objs
target/s390x/helper.h
target/s390x/insn-data.def
target/s390x/translate_vx.inc.c
target/s390x/vec_helper.c [new file with mode: 0644]