Browse Source

* use MOVDQA instead of MOVQ in spilling_create_store
* call OptPass1_V_MOVAP for MOVDQA

florian 3 years ago
parent
commit
4808ed63e3
2 changed files with 3 additions and 1 deletions
  1. 2 1
      compiler/x86/aasmcpu.pas
  2. 1 0
      compiler/x86_64/aoptcpu.pas

+ 2 - 1
compiler/x86/aasmcpu.pas

@@ -4891,10 +4891,11 @@ implementation
                   result:=taicpu.op_reg_ref(A_MOVSD,S_NO,r,tmpref);
                 R_SUBMMS:
                   result:=taicpu.op_reg_ref(A_MOVSS,S_NO,r,tmpref);
-                R_SUBMMX,
                 R_SUBQ,
                 R_SUBMMWHOLE:
                   result:=taicpu.op_reg_ref(A_MOVQ,S_NO,r,tmpref);
+                R_SUBMMX:
+                  result:=taicpu.op_reg_ref(A_MOVDQA,S_NO,r,tmpref);
                 else
                   internalerror(2005060404);
               end;

+ 1 - 0
compiler/x86_64/aoptcpu.pas

@@ -85,6 +85,7 @@ uses
                 A_MOVSXD,
                 A_MOVZX:
                   Result:=OptPass1Movx(p);
+                A_MOVDQA,
                 A_MOVAPD,
                 A_MOVAPS,
                 A_MOVUPD,