diff options
author | David Hildenbrand <david@redhat.com> | 2019-04-10 22:55:16 +0200 |
---|---|---|
committer | David Hildenbrand <david@redhat.com> | 2019-05-17 10:54:13 +0200 |
commit | db156ebfae0d7707d81d13234e2fd43dd3347298 (patch) | |
tree | 5caf566e136c6f59a25a1411481ef780e1d49be8 /target/s390x/insn-data.def | |
parent | e58de341d948d12cb36bbc5aa4866b7412581880 (diff) | |
download | qemu-db156ebfae0d7707d81d13234e2fd43dd3347298.zip qemu-db156ebfae0d7707d81d13234e2fd43dd3347298.tar.gz qemu-db156ebfae0d7707d81d13234e2fd43dd3347298.tar.bz2 |
s390x/tcg: Implement VECTOR TEST UNDER MASK
Let's return the cc value directly via cpu_env. Unfortunately there
isn't a simple way to calculate the value lazily - one would have to
calculate and store e.g. the population count of the mask and the
result so it can be evaluated in a cc helper.
But as VTM only sets the cc, we can assume the value will be needed soon
either way.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: David Hildenbrand <david@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 a52db41..e61475b 100644 --- a/target/s390x/insn-data.def +++ b/target/s390x/insn-data.def @@ -1188,6 +1188,8 @@ F(0xe767, VSUMQ, VRR_c, V, 0, 0, 0, 0, vsumq, 0, IF_VEC) /* VECTOR SUM ACROSS WORD */ F(0xe764, VSUM, VRR_c, V, 0, 0, 0, 0, vsum, 0, IF_VEC) +/* VECTOR TEST UNDER MASK */ + F(0xe7d8, VTM, VRR_a, V, 0, 0, 0, 0, vtm, 0, IF_VEC) #ifndef CONFIG_USER_ONLY /* COMPARE AND SWAP AND PURGE */ |