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 <laurent.desnogues@gmail.com> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Laurent Desnogues <laurent.desnogues@gmail.com> Tested-by: Laurent Desnogues <laurent.desnogues@gmail.com> Message-id: 20180810193129.1556-4-richard.henderson@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
19062c169e
commit
52a339b11d
@ -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;
|
e1 = *(uint16_t *)(vn + H1_2(i)) ^ neg1;
|
||||||
e2 = *(uint16_t *)(vm + H1_2(i));
|
e2 = *(uint16_t *)(vm + H1_2(i));
|
||||||
e3 = *(uint16_t *)(va + H1_2(i)) ^ neg3;
|
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;
|
*(uint16_t *)(vd + H1_2(i)) = r;
|
||||||
}
|
}
|
||||||
} while (i & 63);
|
} while (i & 63);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user