On Fri, Oct 29, 2021 at 12:22 AM Richard Henderson <[email protected]> wrote: > > On 10/28/21 4:30 AM, Alistair Francis wrote: > > On Thu, Oct 28, 2021 at 6:22 PM Frank Chang <[email protected]> wrote: > >> > >> On Thu, Oct 28, 2021 at 12:45 PM Alistair Francis > >> <[email protected]> wrote: > >>> > >>> From: Chih-Min Chao <[email protected]> > >>> > >>> The sNaN propagation behavior has been changed since > >>> cd20cee7 in https://github.com/riscv/riscv-isa-manual. > >>> > >>> Signed-off-by: Chih-Min Chao <[email protected]> > >>> Signed-off-by: Frank Chang <[email protected]> > >>> Acked-by: Alistair Francis <[email protected]> > >>> Message-id: [email protected] > >>> Signed-off-by: Alistair Francis <[email protected]> > >>> --- > >>> target/riscv/fpu_helper.c | 16 ++++++++++++---- > >>> 1 file changed, 12 insertions(+), 4 deletions(-) > >>> > >>> diff --git a/target/riscv/fpu_helper.c b/target/riscv/fpu_helper.c > >>> index 8700516a14..d62f470900 100644 > >>> --- a/target/riscv/fpu_helper.c > >>> +++ b/target/riscv/fpu_helper.c > >>> @@ -174,14 +174,18 @@ uint64_t helper_fmin_s(CPURISCVState *env, uint64_t > >>> rs1, uint64_t rs2) > >>> { > >>> float32 frs1 = check_nanbox_s(rs1); > >>> float32 frs2 = check_nanbox_s(rs2); > >>> - return nanbox_s(float32_minnum(frs1, frs2, &env->fp_status)); > >>> + return nanbox_s(env->priv_ver < PRIV_VERSION_1_11_0 ? > >>> + float32_minnum(frs1, frs2, &env->fp_status) : > >>> + float32_minimum_number(frs1, frs2, &env->fp_status)); > >>> } > >>> > >>> uint64_t helper_fmax_s(CPURISCVState *env, uint64_t rs1, uint64_t rs2) > >>> { > >>> float32 frs1 = check_nanbox_s(rs1); > >>> float32 frs2 = check_nanbox_s(rs2); > >>> - return nanbox_s(float32_maxnum(frs1, frs2, &env->fp_status)); > >>> + return nanbox_s(env->priv_ver < PRIV_VERSION_1_11_0 ? > >>> + float32_maxnum(frs1, frs2, &env->fp_status) : > >>> + float32_maximum_number(frs1, frs2, &env->fp_status)); > >>> } > >>> > >>> uint64_t helper_fsqrt_s(CPURISCVState *env, uint64_t rs1) > >>> @@ -283,12 +287,16 @@ uint64_t helper_fdiv_d(CPURISCVState *env, uint64_t > >>> frs1, uint64_t frs2) > >>> > >>> uint64_t helper_fmin_d(CPURISCVState *env, uint64_t frs1, uint64_t frs2) > >>> { > >>> - return float64_minnum(frs1, frs2, &env->fp_status); > >>> + return env->priv_ver < PRIV_VERSION_1_11_0 ? > >>> + float64_minnum(frs1, frs2, &env->fp_status) : > >>> + float64_minimum_number(frs1, frs2, &env->fp_status); > >>> } > >>> > >>> uint64_t helper_fmax_d(CPURISCVState *env, uint64_t frs1, uint64_t frs2) > >>> { > >>> - return float64_maxnum(frs1, frs2, &env->fp_status); > >>> + return env->priv_ver < PRIV_VERSION_1_11_0 ? > >>> + float64_maxnum(frs1, frs2, &env->fp_status) : > >>> + float64_maximum_number(frs1, frs2, &env->fp_status); > >>> } > >>> > >>> uint64_t helper_fcvt_s_d(CPURISCVState *env, uint64_t rs1) > >>> -- > >>> 2.31.1 > >>> > >> > >> Hi Alistair, > >> > >> Did you pull the latest v5 patchset? > >> https://lists.nongnu.org/archive/html/qemu-riscv/2021-10/msg00557.html > > > > Strange, I don't see it on the patches list. All I see is v4 > > It was one of the cases in which the cover didn't make it to qemu-devel. > The two patches are > > https://lore.kernel.org/qemu-devel/[email protected]/ > https://lore.kernel.org/qemu-devel/[email protected]/
Argh! I guess the missing cover letter means it didn't appear in patches (at least not that I saw) and I didn't double check the version. Sorry about the trouble. I'll prep a v2 PULL with the v5 commit. Alistair > > > r~
