Browse Source

* allow swapping of operands for three operand instructions if they are commutative

florian 1 year ago
parent
commit
2e86cdb620
1 changed files with 1 additions and 1 deletions
  1. 1 1
      compiler/x86/nx86add.pas

+ 1 - 1
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