Message ID | 20230115160657.3169274-3-richard.henderson@linaro.org |
---|---|
State | New |
Headers | show |
Series | target/riscv: Fix double calls to gen_set_rm [#1411] | expand |
On 1/15/23 13:06, Richard Henderson wrote: > The only setting of RISCV_FRM_ROD is from the vector unit, > and now handled by helper_set_rounding_mode_chkfrm. > This helper is now unused. > > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> > --- Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com> > target/riscv/helper.h | 1 - > target/riscv/fpu_helper.c | 5 ----- > target/riscv/translate.c | 4 ---- > 3 files changed, 10 deletions(-) > > diff --git a/target/riscv/helper.h b/target/riscv/helper.h > index 9792ab5086..58a30f03d6 100644 > --- a/target/riscv/helper.h > +++ b/target/riscv/helper.h > @@ -4,7 +4,6 @@ DEF_HELPER_2(raise_exception, noreturn, env, i32) > /* Floating Point - rounding mode */ > DEF_HELPER_FLAGS_2(set_rounding_mode, TCG_CALL_NO_WG, void, env, i32) > DEF_HELPER_FLAGS_2(set_rounding_mode_chkfrm, TCG_CALL_NO_WG, void, env, i32) > -DEF_HELPER_FLAGS_1(set_rod_rounding_mode, TCG_CALL_NO_WG, void, env) > > /* Floating Point - fused */ > DEF_HELPER_FLAGS_4(fmadd_s, TCG_CALL_NO_RWG, i64, env, i64, i64, i64) > diff --git a/target/riscv/fpu_helper.c b/target/riscv/fpu_helper.c > index 96817df8ef..449d236df6 100644 > --- a/target/riscv/fpu_helper.c > +++ b/target/riscv/fpu_helper.c > @@ -118,11 +118,6 @@ void helper_set_rounding_mode_chkfrm(CPURISCVState *env, uint32_t rm) > set_float_rounding_mode(softrm, &env->fp_status); > } > > -void helper_set_rod_rounding_mode(CPURISCVState *env) > -{ > - set_float_rounding_mode(float_round_to_odd, &env->fp_status); > -} > - > static uint64_t do_fmadd_h(CPURISCVState *env, uint64_t rs1, uint64_t rs2, > uint64_t rs3, int flags) > { > diff --git a/target/riscv/translate.c b/target/riscv/translate.c > index 493c3815e1..01cc30a365 100644 > --- a/target/riscv/translate.c > +++ b/target/riscv/translate.c > @@ -672,10 +672,6 @@ static void gen_set_rm(DisasContext *ctx, int rm) > } > ctx->frm = rm; > > - if (rm == RISCV_FRM_ROD) { > - gen_helper_set_rod_rounding_mode(cpu_env); > - return; > - } > if (rm == RISCV_FRM_DYN) { > /* The helper will return only if frm valid. */ > ctx->frm_valid = true;
On Mon, Jan 16, 2023 at 2:08 AM Richard Henderson <richard.henderson@linaro.org> wrote: > > The only setting of RISCV_FRM_ROD is from the vector unit, > and now handled by helper_set_rounding_mode_chkfrm. > This helper is now unused. > > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Alistair > --- > target/riscv/helper.h | 1 - > target/riscv/fpu_helper.c | 5 ----- > target/riscv/translate.c | 4 ---- > 3 files changed, 10 deletions(-) > > diff --git a/target/riscv/helper.h b/target/riscv/helper.h > index 9792ab5086..58a30f03d6 100644 > --- a/target/riscv/helper.h > +++ b/target/riscv/helper.h > @@ -4,7 +4,6 @@ DEF_HELPER_2(raise_exception, noreturn, env, i32) > /* Floating Point - rounding mode */ > DEF_HELPER_FLAGS_2(set_rounding_mode, TCG_CALL_NO_WG, void, env, i32) > DEF_HELPER_FLAGS_2(set_rounding_mode_chkfrm, TCG_CALL_NO_WG, void, env, i32) > -DEF_HELPER_FLAGS_1(set_rod_rounding_mode, TCG_CALL_NO_WG, void, env) > > /* Floating Point - fused */ > DEF_HELPER_FLAGS_4(fmadd_s, TCG_CALL_NO_RWG, i64, env, i64, i64, i64) > diff --git a/target/riscv/fpu_helper.c b/target/riscv/fpu_helper.c > index 96817df8ef..449d236df6 100644 > --- a/target/riscv/fpu_helper.c > +++ b/target/riscv/fpu_helper.c > @@ -118,11 +118,6 @@ void helper_set_rounding_mode_chkfrm(CPURISCVState *env, uint32_t rm) > set_float_rounding_mode(softrm, &env->fp_status); > } > > -void helper_set_rod_rounding_mode(CPURISCVState *env) > -{ > - set_float_rounding_mode(float_round_to_odd, &env->fp_status); > -} > - > static uint64_t do_fmadd_h(CPURISCVState *env, uint64_t rs1, uint64_t rs2, > uint64_t rs3, int flags) > { > diff --git a/target/riscv/translate.c b/target/riscv/translate.c > index 493c3815e1..01cc30a365 100644 > --- a/target/riscv/translate.c > +++ b/target/riscv/translate.c > @@ -672,10 +672,6 @@ static void gen_set_rm(DisasContext *ctx, int rm) > } > ctx->frm = rm; > > - if (rm == RISCV_FRM_ROD) { > - gen_helper_set_rod_rounding_mode(cpu_env); > - return; > - } > if (rm == RISCV_FRM_DYN) { > /* The helper will return only if frm valid. */ > ctx->frm_valid = true; > -- > 2.34.1 > >
diff --git a/target/riscv/helper.h b/target/riscv/helper.h index 9792ab5086..58a30f03d6 100644 --- a/target/riscv/helper.h +++ b/target/riscv/helper.h @@ -4,7 +4,6 @@ DEF_HELPER_2(raise_exception, noreturn, env, i32) /* Floating Point - rounding mode */ DEF_HELPER_FLAGS_2(set_rounding_mode, TCG_CALL_NO_WG, void, env, i32) DEF_HELPER_FLAGS_2(set_rounding_mode_chkfrm, TCG_CALL_NO_WG, void, env, i32) -DEF_HELPER_FLAGS_1(set_rod_rounding_mode, TCG_CALL_NO_WG, void, env) /* Floating Point - fused */ DEF_HELPER_FLAGS_4(fmadd_s, TCG_CALL_NO_RWG, i64, env, i64, i64, i64) diff --git a/target/riscv/fpu_helper.c b/target/riscv/fpu_helper.c index 96817df8ef..449d236df6 100644 --- a/target/riscv/fpu_helper.c +++ b/target/riscv/fpu_helper.c @@ -118,11 +118,6 @@ void helper_set_rounding_mode_chkfrm(CPURISCVState *env, uint32_t rm) set_float_rounding_mode(softrm, &env->fp_status); } -void helper_set_rod_rounding_mode(CPURISCVState *env) -{ - set_float_rounding_mode(float_round_to_odd, &env->fp_status); -} - static uint64_t do_fmadd_h(CPURISCVState *env, uint64_t rs1, uint64_t rs2, uint64_t rs3, int flags) { diff --git a/target/riscv/translate.c b/target/riscv/translate.c index 493c3815e1..01cc30a365 100644 --- a/target/riscv/translate.c +++ b/target/riscv/translate.c @@ -672,10 +672,6 @@ static void gen_set_rm(DisasContext *ctx, int rm) } ctx->frm = rm; - if (rm == RISCV_FRM_ROD) { - gen_helper_set_rod_rounding_mode(cpu_env); - return; - } if (rm == RISCV_FRM_DYN) { /* The helper will return only if frm valid. */ ctx->frm_valid = true;
The only setting of RISCV_FRM_ROD is from the vector unit, and now handled by helper_set_rounding_mode_chkfrm. This helper is now unused. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> --- target/riscv/helper.h | 1 - target/riscv/fpu_helper.c | 5 ----- target/riscv/translate.c | 4 ---- 3 files changed, 10 deletions(-)