Browse Source

* fixed sse float substraction in case of swapped operands

git-svn-id: trunk@5817 -
Jonas Maebe 18 years ago
parent
commit
a4a54a105d
1 changed files with 2 additions and 3 deletions
  1. 2 3
      compiler/x86/nx86add.pas

+ 2 - 3
compiler/x86/nx86add.pas

@@ -728,9 +728,8 @@ unit nx86add;
           end
           end
         else
         else
           begin
           begin
-            if not(nf_swaped in flags) then
-              if right.location.loc in [LOC_FPUREGISTER,LOC_CFPUREGISTER] then
-                location_force_mem(current_asmdata.CurrAsmList,right.location);
+            if (nf_swaped in flags) then
+              swapleftright;
 
 
             location_force_mmregscalar(current_asmdata.CurrAsmList,left.location,false);
             location_force_mmregscalar(current_asmdata.CurrAsmList,left.location,false);
             location.register:=left.location.register;
             location.register:=left.location.register;