From: Alex Bennée Date: Tue, 15 May 2018 13:58:43 +0000 (+0100) Subject: target/arm: Fix sqrt_f16 exception raising X-Git-Tag: v2.12.1~23 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ca11f0ab77d78b389b46f347841b7df2669881f0;p=thirdparty%2Fqemu.git target/arm: Fix sqrt_f16 exception raising We are meant to explicitly pass fpst, not cpu_env. Cc: qemu-stable@nongnu.org Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson Signed-off-by: Richard Henderson Tested-by: Alex Bennée Message-id: 20180512003217.9105-12-richard.henderson@linaro.org Signed-off-by: Peter Maydell (cherry picked from commit 905edee9101c54cda5b72286b7f7607cf1c3c4d1) Signed-off-by: Michael Roth --- diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index f4587c38145..618f5268ccc 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -4733,7 +4733,8 @@ static void handle_fp_1src_half(DisasContext *s, int opcode, int rd, int rn) tcg_gen_xori_i32(tcg_res, tcg_op, 0x8000); break; case 0x3: /* FSQRT */ - gen_helper_sqrt_f16(tcg_res, tcg_op, cpu_env); + fpst = get_fpstatus_ptr(true); + gen_helper_sqrt_f16(tcg_res, tcg_op, fpst); break; case 0x8: /* FRINTN */ case 0x9: /* FRINTP */