mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 00:33:55 -06:00
target/arm: Implement SVE2 complex integer dot product
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20210525010358.152808-64-richard.henderson@linaro.org Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
3b787ed808
commit
21068f3972
4 changed files with 135 additions and 0 deletions
|
@ -3989,6 +3989,9 @@ DO_SVE2_RRXR_ROT(CMLA_zzxz_s, gen_helper_sve2_cmla_idx_s)
|
|||
DO_SVE2_RRXR_ROT(SQRDCMLAH_zzxz_h, gen_helper_sve2_sqrdcmlah_idx_h)
|
||||
DO_SVE2_RRXR_ROT(SQRDCMLAH_zzxz_s, gen_helper_sve2_sqrdcmlah_idx_s)
|
||||
|
||||
DO_SVE2_RRXR_ROT(CDOT_zzxw_s, gen_helper_sve2_cdot_idx_s)
|
||||
DO_SVE2_RRXR_ROT(CDOT_zzxw_d, gen_helper_sve2_cdot_idx_d)
|
||||
|
||||
#undef DO_SVE2_RRXR_ROT
|
||||
|
||||
/*
|
||||
|
@ -8084,6 +8087,20 @@ static bool trans_CMLA_zzzz(DisasContext *s, arg_CMLA_zzzz *a)
|
|||
return true;
|
||||
}
|
||||
|
||||
static bool trans_CDOT_zzzz(DisasContext *s, arg_CMLA_zzzz *a)
|
||||
{
|
||||
if (!dc_isar_feature(aa64_sve2, s) || a->esz < MO_32) {
|
||||
return false;
|
||||
}
|
||||
if (sve_access_check(s)) {
|
||||
gen_helper_gvec_4 *fn = (a->esz == MO_32
|
||||
? gen_helper_sve2_cdot_zzzz_s
|
||||
: gen_helper_sve2_cdot_zzzz_d);
|
||||
gen_gvec_ool_zzzz(s, fn, a->rd, a->rn, a->rm, a->ra, a->rot);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool trans_SQRDCMLAH_zzzz(DisasContext *s, arg_SQRDCMLAH_zzzz *a)
|
||||
{
|
||||
static gen_helper_gvec_4 * const fns[] = {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue