浏览代码

* fix typo
* properly pass zba, zbb, zbs to march

florian 5 月之前
父节点
当前提交
fecd25bac1
共有 2 个文件被更改,包括 4 次插入4 次删除
  1. 3 3
      compiler/riscv/agrvgas.pas
  2. 1 1
      compiler/riscv/nrvutil.pas

+ 3 - 3
compiler/riscv/agrvgas.pas

@@ -231,14 +231,14 @@ unit agrvgas;
 
     function TRVGNUAssembler.MakeCmdLine: TCmdStr;
       const
-        arch_str: array[boolean,tcputype] of string[10] = (
+        arch_str: array[boolean,tcputype] of string[18] = (
 {$ifdef RISCV32}
           ('','rv32imac','rv32ima','rv32im','rv32i','rv32e','rv32imc','rv32imafdc','rv32imafd','rv32ec','rv32gc'),
           ('','rv32imafdc','rv32imafd','rv32imfd','rv32ifd','rv32efd','rv32imcfd','rv32imafdc','rv32imafd','rv32ecfd','rv32gc')
 {$endif RISCV32}
 {$ifdef RISCV64}
-          ('','rv64imac','rv64ima','rv64im','rv64i','rv64imafdc','rv64imafd','rv64gc','rv64gcb'),
-          ('','rv64imafdc','rv64imafd','rv64imfd','rv64ifd','rv64imafdc','rv64imafd','rv64gc','rv64gcb')
+          ('','rv64imac','rv64ima','rv64im','rv64i','rv64imafdc','rv64imafd','rv64gc','rv64gc_zba_zbb_zbs'),
+          ('','rv64imafdc','rv64imafd','rv64imfd','rv64ifd','rv64imafdc','rv64imafd','rv64gc','rv64gc_zba_zbb_zbs')
 {$endif RISCV64}
         );
       begin

+ 1 - 1
compiler/riscv/nrvutil.pas

@@ -90,7 +90,7 @@ implementation
           if CPURV_HAS_ZICOND in cpu_capabilities[current_settings.cputype] then
             attr_arch:=attr_arch+'_zicond1p0';
           if CPURV_HAS_CSR_INSTRUCTIONS in cpu_capabilities[current_settings.cputype] then
-            attr_arch:=attr_arch+'_zicrs2p0';
+            attr_arch:=attr_arch+'_zicsr2p0';
           if CPURV_HAS_FETCH_FENCE in cpu_capabilities[current_settings.cputype] then
             attr_arch:=attr_arch+'_zifencei2p0';
           if CPURV_HAS_ZMMUL in cpu_capabilities[current_settings.cputype] then