From 6bd9f02911905b8b6125575554cb13e673d7d7dc Mon Sep 17 00:00:00 2001 From: MerryMage Date: Tue, 9 Jan 2018 21:20:55 +0000 Subject: [PATCH] EmitA64SetNZCV: bug: to_store is scratch --- src/backend_x64/a64_emit_x64.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend_x64/a64_emit_x64.cpp b/src/backend_x64/a64_emit_x64.cpp index b02ecf76..1703d6b5 100644 --- a/src/backend_x64/a64_emit_x64.cpp +++ b/src/backend_x64/a64_emit_x64.cpp @@ -132,7 +132,7 @@ void A64EmitX64::EmitA64GetCFlag(A64EmitContext& ctx, IR::Inst* inst) { void A64EmitX64::EmitA64SetNZCV(A64EmitContext& ctx, IR::Inst* inst) { auto args = ctx.reg_alloc.GetArgumentInfo(inst); - Xbyak::Reg32 to_store = ctx.reg_alloc.UseGpr(args[0]).cvt32(); + Xbyak::Reg32 to_store = ctx.reg_alloc.UseScratchGpr(args[0]).cvt32(); code->and_(to_store, 0b11000001'00000001); code->imul(to_store, to_store, 0b00010000'00100001); code->shl(to_store, 16);