Sfoglia il codice sorgente

* fix spilling of (v)min/max/s/ps/d operations

git-svn-id: trunk@48856 -
(cherry picked from commit 90710d055b93d4a16c4b6496107a89fdc6366f1f)
florian 4 anni fa
parent
commit
e683e6e912
1 ha cambiato i file con 17 aggiunte e 1 eliminazioni
  1. 17 1
      compiler/x86/rgx86.pas

+ 17 - 1
compiler/x86/rgx86.pas

@@ -109,6 +109,14 @@ implementation
        function avx_opcode_only_op0_may_be_memref(opcode : TAsmOp) : boolean;
          begin
            case opcode of
+             A_VMAXPD,
+             A_VMAXPS,
+             A_VMAXSD,
+             A_VMAXSS,
+             A_VMINPD,
+             A_VMINPS,
+             A_VMINSD,
+             A_VMINSS,
              A_VMULSS,
              A_VMULSD,
              A_VSUBSS,
@@ -334,7 +342,15 @@ implementation
                               A_SHUFPD,
                               A_SHUFPS,
                               A_VCOMISD,
-                              A_VCOMISS:
+                              A_VCOMISS,
+                              A_MINSS,
+                              A_MINSD,
+                              A_MINPS,
+                              A_MINPD,
+                              A_MAXSS,
+                              A_MAXSD,
+                              A_MAXPS,
+                              A_MAXPD:
                                 replaceoper:=-1;
 
                               A_IMUL: