Преглед изворни кода

* x86_64: "a_loadmm_intreg_reg" and "a_loadmm_reg_intreg" now use VMOVD/Q if AVX is selected

J. Gareth "Curious Kit" Moreton пре 3 месеци
родитељ
комит
67ea121250
1 измењених фајлова са 16 додато и 4 уклоњено
  1. 16 4
      compiler/x86_64/cgcpu.pas

+ 16 - 4
compiler/x86_64/cgcpu.pas

@@ -495,9 +495,15 @@ unit cgcpu;
           internalerror(2009112505);
         case fromsize of
           OS_32,OS_S32:
-            opc:=A_MOVD;
+            if UseAVX then
+              opc:=A_VMOVD
+            else
+              opc:=A_MOVD;
           OS_64,OS_S64:
-            opc:=A_MOVQ;
+            if UseAVX then
+              opc:=A_VMOVQ
+            else
+              opc:=A_MOVQ;
           else
             internalerror(2009112506);
         end;
@@ -519,9 +525,15 @@ unit cgcpu;
           internalerror(2009112507);
         case tosize of
           OS_32,OS_S32:
-            opc:=A_MOVD;
+            if UseAVX then
+              opc:=A_VMOVD
+            else
+              opc:=A_MOVD;
           OS_64,OS_S64:
-            opc:=A_MOVQ;
+            if UseAVX then
+              opc:=A_VMOVQ
+            else
+              opc:=A_MOVQ;
           else
             internalerror(2009112408);
         end;