浏览代码

* a64: ARMv8.7 through ARMv8.9 have been added as AArch64 CPU types, along with support for the CSSC extension.

J. Gareth "Curious Kit" Moreton 1 年之前
父节点
当前提交
bba4edb6d0
共有 2 个文件被更改,包括 24 次插入6 次删除
  1. 10 2
      compiler/aarch64/agcpugas.pas
  2. 14 4
      compiler/aarch64/cpuinfo.pas

+ 10 - 2
compiler/aarch64/agcpugas.pas

@@ -75,7 +75,10 @@ unit agcpugas;
         'armv8.3-a',
         'armv8.4-a',
         'armv8.5-a',
-        'armv8.6-a'
+        'armv8.6-a',
+        'armv8.7-a',
+        'armv8.8-a',
+        'armv8.9-a'
       );
 
       cputype_to_clang_march : array[tcputype] of string = (
@@ -87,7 +90,10 @@ unit agcpugas;
         'armv8.3-a',
         'armv8.4-a',
         'armv8.5-a',
-        'armv8.6-a'
+        'armv8.6-a',
+        'armv8.7-a',
+        'armv8.8-a',
+        'armv8.9-a'
       );
 
   implementation
@@ -131,6 +137,8 @@ unit agcpugas;
                 Result:=Result+'+tme';
               CPUAARCH64_HAS_PROFILE:
                 Result:=Result+'+profile';
+              CPUAARCH64_HAS_CSSC:
+                Result:=Result+'+cssc';
               else
                 ;
             end

+ 14 - 4
compiler/aarch64/cpuinfo.pas

@@ -42,7 +42,10 @@ Type
        cpu_armv83a,
        cpu_armv84a,
        cpu_armv85a,
-       cpu_armv86a
+       cpu_armv86a,
+       cpu_armv87a,
+       cpu_armv88a,
+       cpu_armv89a
       );
 
 Type
@@ -120,7 +123,10 @@ Const
      'ARMV8.3-A',
      'ARMV8.4-A',
      'ARMV8.5-A',
-     'ARMV8.6-A'
+     'ARMV8.6-A',
+     'ARMV8.7-A',
+     'ARMV8.8-A',
+     'ARMV8.9-A'
    );
 
    fputypestr : array[tfputype] of string[9] = ('',
@@ -155,7 +161,8 @@ type
       CPUAARCH64_HAS_PROFILE, { CPU supports the profile extension }
       CPUAARCH64_HAS_MEMTAG,  { CPU supports the memtag extension }
       CPUAARCH64_HAS_TME,     { CPU supports the tme extension }
-      CPUAARCH64_HAS_PAUTH    { CPU supports the pauth extension }
+      CPUAARCH64_HAS_PAUTH,   { CPU supports the pauth extension }
+      CPUAARCH64_HAS_CSSC     { CPU supports the Common Short Sequence Compression (CSSC) extension }
      );
 
    tfpuflags =
@@ -172,7 +179,10 @@ const
        { cpu_armv83a   } [CPUAARCH64_HAS_LSE],
        { cpu_armv84a   } [CPUAARCH64_HAS_LSE],
        { cpu_armv85a   } [CPUAARCH64_HAS_LSE],
-       { cpu_armv86a   } [CPUAARCH64_HAS_LSE]
+       { cpu_armv86a   } [CPUAARCH64_HAS_LSE],
+       { cpu_armv87a   } [CPUAARCH64_HAS_LSE],
+       { cpu_armv88a   } [CPUAARCH64_HAS_LSE],
+       { cpu_armv89a   } [CPUAARCH64_HAS_LSE,CPUAARCH64_HAS_CSSC]
      );
 
    fpu_capabilities : array[tfputype] of set of tfpuflags =