Prepare for needing a non-zero value.
Signed-off-by: Richard Henderson <[email protected]>
---
target/arm/tcg/translate-sve.c | 19 ++++++++++---------
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/target/arm/tcg/translate-sve.c b/target/arm/tcg/translate-sve.c
index 083b70b487..e9c0a73e90 100644
--- a/target/arm/tcg/translate-sve.c
+++ b/target/arm/tcg/translate-sve.c
@@ -4656,7 +4656,8 @@ TRANS_FEAT(FRINTX_m, aa64_sme_or_sve,
gen_gvec_fpst_arg_zpz,
a->esz == MO_16 ? FPST_A64_F16 : FPST_A64);
static bool do_frint_mode(DisasContext *s, arg_rpr_esz *a,
- ARMFPRounding mode, gen_helper_gvec_3_ptr *fn)
+ ARMFPRounding mode, int data,
+ gen_helper_gvec_3_ptr *fn)
{
unsigned vsz;
TCGv_i32 tmode;
@@ -4676,22 +4677,22 @@ static bool do_frint_mode(DisasContext *s, arg_rpr_esz
*a,
tcg_gen_gvec_3_ptr(vec_full_reg_offset(s, a->rd),
vec_full_reg_offset(s, a->rn),
pred_full_reg_offset(s, a->pg),
- status, vsz, vsz, 0, fn);
+ status, vsz, vsz, data, fn);
gen_restore_rmode(tmode, status);
return true;
}
TRANS_FEAT(FRINTN_m, aa64_sme_or_sve, do_frint_mode, a,
- FPROUNDING_TIEEVEN, frint_fns[a->esz])
+ FPROUNDING_TIEEVEN, 0, frint_fns[a->esz])
TRANS_FEAT(FRINTP_m, aa64_sme_or_sve, do_frint_mode, a,
- FPROUNDING_POSINF, frint_fns[a->esz])
+ FPROUNDING_POSINF, 0, frint_fns[a->esz])
TRANS_FEAT(FRINTM_m, aa64_sme_or_sve, do_frint_mode, a,
- FPROUNDING_NEGINF, frint_fns[a->esz])
+ FPROUNDING_NEGINF, 0, frint_fns[a->esz])
TRANS_FEAT(FRINTZ_m, aa64_sme_or_sve, do_frint_mode, a,
- FPROUNDING_ZERO, frint_fns[a->esz])
+ FPROUNDING_ZERO, 0, frint_fns[a->esz])
TRANS_FEAT(FRINTA_m, aa64_sme_or_sve, do_frint_mode, a,
- FPROUNDING_TIEAWAY, frint_fns[a->esz])
+ FPROUNDING_TIEAWAY, 0, frint_fns[a->esz])
static gen_helper_gvec_3_ptr * const frecpx_fns[] = {
NULL, gen_helper_sve_frecpx_h,
@@ -7998,9 +7999,9 @@ TRANS_FEAT(FCVTLT_sd_m, aa64_sme_or_sve2,
gen_gvec_fpst_arg_zpz,
gen_helper_sve2_fcvtlt_sd, a, 0, FPST_A64)
TRANS_FEAT(FCVTX_ds_m, aa64_sme_or_sve2, do_frint_mode, a,
- FPROUNDING_ODD, gen_helper_sve_fcvt_ds)
+ FPROUNDING_ODD, 0, gen_helper_sve_fcvt_ds)
TRANS_FEAT(FCVTXNT_ds_m, aa64_sme_or_sve2, do_frint_mode, a,
- FPROUNDING_ODD, gen_helper_sve2_fcvtnt_ds)
+ FPROUNDING_ODD, 0, gen_helper_sve2_fcvtnt_ds)
static gen_helper_gvec_3_ptr * const flogb_fns[] = {
NULL, gen_helper_flogb_h,
--
2.43.0