From c1babf41b25d9076528ac87f5e622bad5370c928 Mon Sep 17 00:00:00 2001 From: MerryMage Date: Thu, 2 Aug 2018 21:12:24 +0100 Subject: [PATCH] emit_x64_floating_point: Remove unnecessary DenormalsAreZero from EmitFPSingleToDouble and EmitFPDoubleToSingle --- src/backend_x64/emit_x64_floating_point.cpp | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/src/backend_x64/emit_x64_floating_point.cpp b/src/backend_x64/emit_x64_floating_point.cpp index 0ca86768..52e1c72a 100644 --- a/src/backend_x64/emit_x64_floating_point.cpp +++ b/src/backend_x64/emit_x64_floating_point.cpp @@ -1028,12 +1028,8 @@ void EmitX64::EmitFPCompare64(EmitContext& ctx, IR::Inst* inst) { void EmitX64::EmitFPSingleToDouble(EmitContext& ctx, IR::Inst* inst) { auto args = ctx.reg_alloc.GetArgumentInfo(inst); - Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); - Xbyak::Reg64 gpr_scratch = ctx.reg_alloc.ScratchGpr(); + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); - if (ctx.FPSCR_FTZ()) { - DenormalsAreZero<32>(code, result, gpr_scratch); - } code.cvtss2sd(result, result); if (ctx.FPSCR_DN()) { ForceToDefaultNaN<64>(code, result); @@ -1044,12 +1040,8 @@ void EmitX64::EmitFPSingleToDouble(EmitContext& ctx, IR::Inst* inst) { void EmitX64::EmitFPDoubleToSingle(EmitContext& ctx, IR::Inst* inst) { auto args = ctx.reg_alloc.GetArgumentInfo(inst); - Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); - Xbyak::Reg64 gpr_scratch = ctx.reg_alloc.ScratchGpr(); + const Xbyak::Xmm result = ctx.reg_alloc.UseScratchXmm(args[0]); - if (ctx.FPSCR_FTZ()) { - DenormalsAreZero<64>(code, result, gpr_scratch); - } code.cvtsd2ss(result, result); if (ctx.FPSCR_DN()) { ForceToDefaultNaN<32>(code, result);