From 8d37b8b9a068d60f61b1c3296c945afe5f252309 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Tue, 27 Nov 2018 18:26:39 +0100 Subject: Reload registers for conditional binary operations. Fix #708 --- src/ortho/mcode/ortho_code-x86-insns.adb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ortho/mcode/ortho_code-x86-insns.adb b/src/ortho/mcode/ortho_code-x86-insns.adb index 5429df016..013a201e7 100644 --- a/src/ortho/mcode/ortho_code-x86-insns.adb +++ b/src/ortho/mcode/ortho_code-x86-insns.adb @@ -1901,6 +1901,8 @@ package body Ortho_Code.X86.Insns is when R_Any_Cc => Right := Gen_Insn (Right, R_Irm, Num); Left := Gen_Insn (Left, R_Any8, Num); + Left := Reload (Left, R_Irm, Num); + Right := Reload (Right, R_Any8, Num); Reg_Res := R_Ne; Alloc_Cc (Stmt, Num); Free_Insn_Regs (Left); -- cgit v1.2.3