Przeglądaj źródła

+ SSE and AVX unit cpu flags

git-svn-id: trunk@26587 -
florian 11 lat temu
rodzic
commit
060aa2a7fe
2 zmienionych plików z 14 dodań i 10 usunięć
  1. 8 6
      compiler/i386/cpuinfo.pas
  2. 6 4
      compiler/x86_64/cpuinfo.pas

+ 8 - 6
compiler/i386/cpuinfo.pas

@@ -129,9 +129,11 @@ Const
 
 type
    tcpuflags =
-      (CPUX86_HAS_BMI1,
+      (CPUX86_HAS_SSEUNIT,
+       CPUX86_HAS_BMI1,
        CPUX86_HAS_BMI2,
        CPUX86_HAS_POPCNT,
+       CPUX86_HAS_AVXUNIT,
        CPUX86_HAS_LZCNT,
        CPUX86_HAS_MOVBE
       );
@@ -142,11 +144,11 @@ type
      { cpu_386       } [],
      { cpu_Pentium   } [],
      { cpu_Pentium2  } [],
-     { cpu_Pentium3  } [],
-     { cpu_Pentium4  } [],
-     { cpu_PentiumM  } [],
-     { cpu_core_avx  } [CPUX86_HAS_POPCNT],
-     { cpu_core_avx2 } [CPUX86_HAS_POPCNT,CPUX86_HAS_BMI1,CPUX86_HAS_BMI2,CPUX86_HAS_LZCNT,CPUX86_HAS_MOVBE]
+     { cpu_Pentium3  } [CPUX86_HAS_SSEUNIT],
+     { cpu_Pentium4  } [CPUX86_HAS_SSEUNIT],
+     { cpu_PentiumM  } [CPUX86_HAS_SSEUNIT],
+     { cpu_core_avx  } [CPUX86_HAS_SSEUNIT,CPUX86_HAS_POPCNT,CPUX86_HAS_AVXUNIT],
+     { cpu_core_avx2 } [CPUX86_HAS_SSEUNIT,CPUX86_HAS_POPCNT,CPUX86_HAS_AVXUNIT,CPUX86_HAS_BMI1,CPUX86_HAS_BMI2,CPUX86_HAS_LZCNT,CPUX86_HAS_MOVBE]
    );
 
 

+ 6 - 4
compiler/x86_64/cpuinfo.pas

@@ -117,9 +117,11 @@ Const
 
 type
    tcpuflags =
-      (CPUX86_HAS_BMI1,
+      (CPUX86_HAS_SSEUNIT,
+       CPUX86_HAS_BMI1,
        CPUX86_HAS_BMI2,
        CPUX86_HAS_POPCNT,
+       CPUX86_HAS_AVXUNIT,
        CPUX86_HAS_LZCNT,
        CPUX86_HAS_MOVBE
       );
@@ -127,9 +129,9 @@ type
  const
    cpu_capabilities : array[tcputype] of set of tcpuflags = (
      { cpu_none      } [],
-     { Athlon64      } [],
-     { cpu_core_avx  } [CPUX86_HAS_POPCNT],
-     { cpu_core_avx2 } [CPUX86_HAS_POPCNT,CPUX86_HAS_BMI1,CPUX86_HAS_BMI2,CPUX86_HAS_LZCNT,CPUX86_HAS_MOVBE]
+     { Athlon64      } [CPUX86_HAS_SSEUNIT],
+     { cpu_core_avx  } [CPUX86_HAS_SSEUNIT,CPUX86_HAS_POPCNT,CPUX86_HAS_AVXUNIT],
+     { cpu_core_avx2 } [CPUX86_HAS_SSEUNIT,CPUX86_HAS_POPCNT,CPUX86_HAS_AVXUNIT,CPUX86_HAS_BMI1,CPUX86_HAS_BMI2,CPUX86_HAS_LZCNT,CPUX86_HAS_MOVBE]
    );
 
 Implementation