Преглед на файлове

+ completed identifiers for RiscV ABIs

florian преди 2 години
родител
ревизия
c8b5dd7da8
променени са 3 файла, в които са добавени 13 реда и са изтрити 1 реда
  1. 6 0
      compiler/systems.inc
  2. 6 0
      compiler/systems.pas
  3. 1 1
      compiler/systems/i_freertos.pas

+ 6 - 0
compiler/systems.inc

@@ -371,6 +371,12 @@
             ,abi_old_win32_gnu
             ,abi_aarch64_darwin
             ,abi_riscv_hf
+            ,abi_riscv_ilp32
+            ,abi_riscv_ilp32f
+            ,abi_riscv_ilp32d
+            ,abi_riscv_lp64
+            ,abi_riscv_lp64f
+            ,abi_riscv_lp64d
             { stack is aligned and all room for parameters is reserved on
               entry, but depending on the calling convention, the parameters
               may still be removed by the callee (and then the stack needs to

+ 6 - 0
compiler/systems.pas

@@ -488,6 +488,12 @@ interface
          (name: 'OLDWIN32GNU'; supported:{$ifdef I386}true{$else}false{$endif}),
          (name: 'AARCH64IOS'; supported:{$ifdef aarch64}true{$else}false{$endif}),
          (name: 'RISCVHF'; supported:{$if defined(riscv32) or defined(riscv64)}true{$else}false{$endif}),
+         (name: 'RISCV32ILP'; supported:{$if defined(riscv32)}true{$else}false{$endif}),
+         (name: 'RISCV32ILPF'; supported:{$if defined(riscv32)}true{$else}false{$endif}),
+         (name: 'RISCV32ILPD'; supported:{$if defined(riscv32)}true{$else}false{$endif}),
+         (name: 'RISCV64LP'; supported:{$if defined(riscv64)}true{$else}false{$endif}),
+         (name: 'RISCV64LPF'; supported:{$if defined(riscv64)}true{$else}false{$endif}),
+         (name: 'RISCV64LPD'; supported:{$if defined(riscv64)}true{$else}false{$endif}),
          (name: 'LINUX386_SYSV'; supported:{$if defined(i386)}true{$else}false{$endif}),
          (name: 'WINDOWED'; supported:{$if defined(xtensa)}true{$else}false{$endif}),
          (name: 'CALL0'; supported:{$if defined(xtensa)}true{$else}false{$endif})

+ 1 - 1
compiler/systems/i_freertos.pas

@@ -849,7 +849,7 @@ unit i_freertos;
             first_parm_offset : 8;
             stacksize    : 65536;
             stackalign   : 16;
-            abi : abi_xtensa_windowed;
+            abi : abi_riscv_ilp32;
             llvmdatalayout : 'e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:64:128-a0:0:64-n32-S32';
           );