From: Richard Henderson <[email protected]> This makes float16_muladd correctly use FZ16 not FZ.
Fixes: 6ceabaad110 Cc: [email protected] (3.0.1) Reported-by: Laurent Desnogues <[email protected]> Signed-off-by: Richard Henderson <[email protected]> Reviewed-by: Laurent Desnogues <[email protected]> Tested-by: Laurent Desnogues <[email protected]> Message-id: [email protected] Signed-off-by: Peter Maydell <[email protected]> (cherry picked from commit 52a339b11d1719a6589de40606859939875fda9a) Signed-off-by: Michael Roth <[email protected]> --- target/arm/sve_helper.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/arm/sve_helper.c b/target/arm/sve_helper.c index e03f954a26..0f98097253 100644 --- a/target/arm/sve_helper.c +++ b/target/arm/sve_helper.c @@ -3358,7 +3358,7 @@ static void do_fmla_zpzzz_h(CPUARMState *env, void *vg, uint32_t desc, e1 = *(uint16_t *)(vn + H1_2(i)) ^ neg1; e2 = *(uint16_t *)(vm + H1_2(i)); e3 = *(uint16_t *)(va + H1_2(i)) ^ neg3; - r = float16_muladd(e1, e2, e3, 0, &env->vfp.fp_status); + r = float16_muladd(e1, e2, e3, 0, &env->vfp.fp_status_f16); *(uint16_t *)(vd + H1_2(i)) = r; } } while (i & 63); -- 2.17.1
