From b764c2425cf943009244c4923b0e095351b1c2e9 Mon Sep 17 00:00:00 2001 From: Merry Date: Fri, 20 Jan 2023 21:20:35 +0000 Subject: [PATCH] emit_x64_floating_point: zext FPFixedU32ToDouble --- src/dynarmic/backend/x64/emit_x64_floating_point.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/dynarmic/backend/x64/emit_x64_floating_point.cpp b/src/dynarmic/backend/x64/emit_x64_floating_point.cpp index d6f858fd..62adb92e 100644 --- a/src/dynarmic/backend/x64/emit_x64_floating_point.cpp +++ b/src/dynarmic/backend/x64/emit_x64_floating_point.cpp @@ -1870,6 +1870,8 @@ void EmitX64::EmitFPFixedU32ToDouble(EmitContext& ctx, IR::Inst* inst) { const size_t fbits = args[1].GetImmediateU8(); [[maybe_unused]] const FP::RoundingMode rounding_mode = static_cast(args[2].GetImmediateU8()); // Not required + code.xorps(to, to); + if (code.HasHostFeature(HostFeature::AVX512F)) { const Xbyak::Reg64 from = ctx.reg_alloc.UseGpr(args[0]); code.vcvtusi2sd(to, to, from.cvt32());