From: Richard Henderson Date: Thu, 16 Aug 2018 13:05:29 +0000 (+0100) Subject: target/arm: Use fp_status_fp16 for do_fmpa_zpzzz_h X-Git-Tag: v3.0.1~91 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=aff596dcf4b153fba057c69e01fcb0a4e0744f23;p=thirdparty%2Fqemu.git target/arm: Use fp_status_fp16 for do_fmpa_zpzzz_h This makes float16_muladd correctly use FZ16 not FZ. Fixes: 6ceabaad110 Cc: qemu-stable@nongnu.org (3.0.1) Reported-by: Laurent Desnogues Signed-off-by: Richard Henderson Reviewed-by: Laurent Desnogues Tested-by: Laurent Desnogues Message-id: 20180810193129.1556-4-richard.henderson@linaro.org Signed-off-by: Peter Maydell (cherry picked from commit 52a339b11d1719a6589de40606859939875fda9a) Signed-off-by: Michael Roth --- diff --git a/target/arm/sve_helper.c b/target/arm/sve_helper.c index e03f954a264..0f980972535 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);