diff options
author | David Hildenbrand | 2019-03-07 13:15:20 +0100 |
---|---|---|
committer | Cornelia Huck | 2019-03-11 09:31:01 +0100 |
commit | 0a85f8257aa9aac4b71b9d57fa8e250321163aea (patch) | |
tree | 9de3f5413893cd3cd39ee85c70315deb092077a5 /target/s390x/insn-data.def | |
parent | s390x/tcg: Implement VECTOR LOAD LOGICAL ELEMENT AND ZERO (diff) | |
download | qemu-0a85f8257aa9aac4b71b9d57fa8e250321163aea.tar.gz qemu-0a85f8257aa9aac4b71b9d57fa8e250321163aea.tar.xz qemu-0a85f8257aa9aac4b71b9d57fa8e250321163aea.zip |
s390x/tcg: Implement VECTOR LOAD MULTIPLE
Try to load the last element first. Access to the first element will
be checked afterwards. This way, we can guarantee that the vector is
not modified before we checked for all possible exceptions. (16 vectors
cannot cross more than two pages)
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20190307121539.12842-14-david@redhat.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Diffstat (limited to 'target/s390x/insn-data.def')
-rw-r--r-- | target/s390x/insn-data.def | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/target/s390x/insn-data.def b/target/s390x/insn-data.def index 2b36205c84..fa0f3a9003 100644 --- a/target/s390x/insn-data.def +++ b/target/s390x/insn-data.def @@ -1000,6 +1000,8 @@ F(0xe721, VLGV, VRS_c, V, la2, 0, r1, 0, vlgv, 0, IF_VEC) /* VECTOR LOAD LOGICAL ELEMENT AND ZERO */ F(0xe704, VLLEZ, VRX, V, la2, 0, 0, 0, vllez, 0, IF_VEC) +/* VECTOR LOAD MULTIPLE */ + F(0xe736, VLM, VRS_a, V, la2, 0, 0, 0, vlm, 0, IF_VEC) #ifndef CONFIG_USER_ONLY /* COMPARE AND SWAP AND PURGE */ |