Explorar o código

* there is no vmovq for mmx registers

git-svn-id: trunk@38208 -
florian %!s(int64=7) %!d(string=hai) anos
pai
achega
381cf78ff1
Modificáronse 1 ficheiros con 4 adicións e 2 borrados
  1. 4 2
      compiler/x86/cgx86.pas

+ 4 - 2
compiler/x86/cgx86.pas

@@ -1486,7 +1486,8 @@ unit cgx86;
                  else
                    op := A_MOVD;
                OS_M64, OS_64, OS_S64:
-                 if UseAVX then
+                 { there is no VMOVQ for MMX registers }
+                 if UseAVX and (getregtype(reg)<>R_MMXREGISTER) then
                    op := A_VMOVQ
                  else
                    op := A_MOVQ;
@@ -1659,7 +1660,8 @@ unit cgx86;
                  else
                    op := A_MOVD;
                OS_M64, OS_64, OS_S64:
-                 if UseAVX then
+                 { there is no VMOVQ for MMX registers }
+                 if UseAVX and (getregtype(reg)<>R_MMXREGISTER) then
                    op := A_VMOVQ
                  else
                    op := A_MOVQ;