Forráskód Böngészése

+ completed identifiers for RiscV ABIs

florian 2 éve
szülő
commit
87ec3d6fad
3 módosított fájl, 13 hozzáadás és 1 törlés
  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';
           );