diff --git a/compiler/x86/nx86add.pas b/compiler/x86/nx86add.pas index 169cc320ec..f0cc61fee8 100644 --- a/compiler/x86/nx86add.pas +++ b/compiler/x86/nx86add.pas @@ -2130,7 +2130,7 @@ unit nx86add; ((nodetype=addn) and (left.location.loc in [LOC_REGISTER,LOC_CREGISTER,LOC_CONSTANT]) and (right.location.loc in [LOC_REGISTER,LOC_CREGISTER,LOC_CONSTANT])) then begin { allocate registers } - force_reg_left_right(false,true); + force_reg_left_right(nodetype<>subn,true); set_result_location_reg; if nodetype<>subn then begin