diff mbox series

[2/2] target/riscv: Remove helper_set_rod_rounding_mode

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

Commit Message

Richard Henderson Jan. 15, 2023, 4:06 p.m. UTC
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(-)

Comments

Daniel Henrique Barboza Jan. 18, 2023, 10:01 a.m. UTC | #1
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;
Alistair Francis Jan. 18, 2023, 10:53 p.m. UTC | #2
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 mbox series

Patch

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;