diff options
author | David Hildenbrand <david@redhat.com> | 2019-05-23 15:09:49 +0200 |
---|---|---|
committer | David Hildenbrand <david@redhat.com> | 2019-06-07 14:53:25 +0200 |
commit | 1fd286385c31e42a60db0a298c01e1c8ec290e3e (patch) | |
tree | e37c45b93e375f0bba7e480ea3e0bdf5a2dee4c0 /target/s390x/helper.h | |
parent | 33556237f652d8a712d0b6d29ecb442e6b65fe42 (diff) | |
download | qemu-1fd286385c31e42a60db0a298c01e1c8ec290e3e.zip qemu-1fd286385c31e42a60db0a298c01e1c8ec290e3e.tar.gz qemu-1fd286385c31e42a60db0a298c01e1c8ec290e3e.tar.bz2 |
s390x/tcg: Implement VECTOR FIND ANY ELEMENT EQUAL
Complicated stuff. Provide two different helpers for CC an !CC handling.
We might want to add more helpers later.
zero_search() and match_index() are courtesy of Richard H.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: David Hildenbrand <david@redhat.com>
Diffstat (limited to 'target/s390x/helper.h')
-rw-r--r-- | target/s390x/helper.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/target/s390x/helper.h b/target/s390x/helper.h index 7755a96..c45328c 100644 --- a/target/s390x/helper.h +++ b/target/s390x/helper.h @@ -211,6 +211,14 @@ DEF_HELPER_FLAGS_4(gvec_vscbi8, TCG_CALL_NO_RWG, void, ptr, cptr, cptr, i32) DEF_HELPER_FLAGS_4(gvec_vscbi16, TCG_CALL_NO_RWG, void, ptr, cptr, cptr, i32) DEF_HELPER_4(gvec_vtm, void, ptr, cptr, env, i32) +/* === Vector String Instructions === */ +DEF_HELPER_FLAGS_4(gvec_vfae8, TCG_CALL_NO_RWG, void, ptr, cptr, cptr, i32) +DEF_HELPER_FLAGS_4(gvec_vfae16, TCG_CALL_NO_RWG, void, ptr, cptr, cptr, i32) +DEF_HELPER_FLAGS_4(gvec_vfae32, TCG_CALL_NO_RWG, void, ptr, cptr, cptr, i32) +DEF_HELPER_5(gvec_vfae_cc8, void, ptr, cptr, cptr, env, i32) +DEF_HELPER_5(gvec_vfae_cc16, void, ptr, cptr, cptr, env, i32) +DEF_HELPER_5(gvec_vfae_cc32, void, ptr, cptr, cptr, env, i32) + #ifndef CONFIG_USER_ONLY DEF_HELPER_3(servc, i32, env, i64, i64) DEF_HELPER_4(diag, void, env, i32, i32, i32) |