Przeglądaj źródła

Merged revisions 3885 via svnmerge from
http://svn.freepascal.org/svn/fpc/trunk

........
r3885 | florian | 2006-06-17 21:43:15 +0200 (Sa, 17 Jun 2006) | 2 lines

* fixed sse addition if operands were swapped and in float registers

........

git-svn-id: branches/fixes_2_0@3886 -

florian 19 lat temu
rodzic
commit
aecb5cae40
1 zmienionych plików z 4 dodań i 0 usunięć
  1. 4 0
      compiler/x86/nx86add.pas

+ 4 - 0
compiler/x86/nx86add.pas

@@ -725,6 +725,10 @@ unit nx86add;
           end
         else
           begin
+            if not(nf_swaped in flags) then
+              if right.location.loc in [LOC_FPUREGISTER,LOC_CFPUREGISTER] then
+                location_force_mem(exprasmlist,right.location);
+
             location_force_mmregscalar(exprasmlist,left.location,false);
             location.register:=left.location.register;
             { force floating point reg. location to be written to memory,