[PATCH] target/riscv: Fix froundnx.h nanbox check

Branislav Brzak posted 1 patch 5 months, 2 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20240608214546.226963-1-brzakbranislav@gmail.com
Maintainers: Palmer Dabbelt <palmer@dabbelt.com>, Alistair Francis <alistair.francis@wdc.com>, Bin Meng <bmeng.cn@gmail.com>, Weiwei Li <liwei1518@gmail.com>, Daniel Henrique Barboza <dbarboza@ventanamicro.com>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>
target/riscv/fpu_helper.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] target/riscv: Fix froundnx.h nanbox check
Posted by Branislav Brzak 5 months, 2 weeks ago
helper_froundnx_h function mistakenly uses single percision nanbox
check instead of the half percision one. This patch fixes the issue.

Signed-off-by: Branislav Brzak <brzakbranislav@gmail.com>
---
 target/riscv/fpu_helper.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/riscv/fpu_helper.c b/target/riscv/fpu_helper.c
index 871a70a316..91b1a56d10 100644
--- a/target/riscv/fpu_helper.c
+++ b/target/riscv/fpu_helper.c
@@ -676,7 +676,7 @@ uint64_t helper_fround_h(CPURISCVState *env, uint64_t rs1)
 
 uint64_t helper_froundnx_h(CPURISCVState *env, uint64_t rs1)
 {
-    float16 frs1 = check_nanbox_s(env, rs1);
+    float16 frs1 = check_nanbox_h(env, rs1);
     frs1 = float16_round_to_int(frs1, &env->fp_status);
     return nanbox_h(env, frs1);
 }
-- 
2.34.1
Re: [PATCH] target/riscv: Fix froundnx.h nanbox check
Posted by Alistair Francis 5 months ago
On Sun, Jun 9, 2024 at 3:32 PM Branislav Brzak <brzakbranislav@gmail.com> wrote:
>
> helper_froundnx_h function mistakenly uses single percision nanbox
> check instead of the half percision one. This patch fixes the issue.
>
> Signed-off-by: Branislav Brzak <brzakbranislav@gmail.com>

Thanks!

Applied to riscv-to-apply.next

Alistair

> ---
>  target/riscv/fpu_helper.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/target/riscv/fpu_helper.c b/target/riscv/fpu_helper.c
> index 871a70a316..91b1a56d10 100644
> --- a/target/riscv/fpu_helper.c
> +++ b/target/riscv/fpu_helper.c
> @@ -676,7 +676,7 @@ uint64_t helper_fround_h(CPURISCVState *env, uint64_t rs1)
>
>  uint64_t helper_froundnx_h(CPURISCVState *env, uint64_t rs1)
>  {
> -    float16 frs1 = check_nanbox_s(env, rs1);
> +    float16 frs1 = check_nanbox_h(env, rs1);
>      frs1 = float16_round_to_int(frs1, &env->fp_status);
>      return nanbox_h(env, frs1);
>  }
> --
> 2.34.1
>
>
Re: [PATCH] target/riscv: Fix froundnx.h nanbox check
Posted by Richard Henderson 5 months ago
On 6/8/24 14:45, Branislav Brzak wrote:
> t/riscv/fpu_helper.c b/target/riscv/fpu_helper.c
> index 871a70a316..91b1a56d10 100644
> --- a/target/riscv/fpu_helper.c
> +++ b/target/riscv/fpu_helper.c
> @@ -676,7 +676,7 @@ uint64_t helper_fround_h(CPURISCVState *env, uint64_t rs1)
>   
>   uint64_t helper_froundnx_h(CPURISCVState *env, uint64_t rs1)
>   {
> -    float16 frs1 = check_nanbox_s(env, rs1);
> +    float16 frs1 = check_nanbox_h(env, rs1);
>       frs1 = float16_round_to_int(frs1, &env->fp_status);
>       return nanbox_h(env, frs1);
>   }

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~
Re: [PATCH] target/riscv: Fix froundnx.h nanbox check
Posted by Alistair Francis 5 months ago
On Sun, Jun 9, 2024 at 3:32 PM Branislav Brzak <brzakbranislav@gmail.com> wrote:
>
> helper_froundnx_h function mistakenly uses single percision nanbox
> check instead of the half percision one. This patch fixes the issue.
>
> Signed-off-by: Branislav Brzak <brzakbranislav@gmail.com>

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>

Alistair

> ---
>  target/riscv/fpu_helper.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/target/riscv/fpu_helper.c b/target/riscv/fpu_helper.c
> index 871a70a316..91b1a56d10 100644
> --- a/target/riscv/fpu_helper.c
> +++ b/target/riscv/fpu_helper.c
> @@ -676,7 +676,7 @@ uint64_t helper_fround_h(CPURISCVState *env, uint64_t rs1)
>
>  uint64_t helper_froundnx_h(CPURISCVState *env, uint64_t rs1)
>  {
> -    float16 frs1 = check_nanbox_s(env, rs1);
> +    float16 frs1 = check_nanbox_h(env, rs1);
>      frs1 = float16_round_to_int(frs1, &env->fp_status);
>      return nanbox_h(env, frs1);
>  }
> --
> 2.34.1
>
>