Bläddra i källkod

+ Risc-V 32: tcpuparamanager.get_saved_registers_int

florian 1 år sedan
förälder
incheckning
3e6cd16bb5
1 ändrade filer med 11 tillägg och 2 borttagningar
  1. 11 2
      compiler/riscv32/cpupara.pas

+ 11 - 2
compiler/riscv32/cpupara.pas

@@ -41,6 +41,7 @@ unit cpupara;
           function create_paraloc_info(p : tabstractprocdef; side: tcallercallee):longint;override;
           function create_paraloc_info(p : tabstractprocdef; side: tcallercallee):longint;override;
           function create_varargs_paraloc_info(p : tabstractprocdef; side: tcallercallee; varargspara:tvarargsparalist):longint;override;
           function create_varargs_paraloc_info(p : tabstractprocdef; side: tcallercallee; varargspara:tvarargsparalist):longint;override;
           function get_funcretloc(p : tabstractprocdef; side: tcallercallee; forcetempdef: tdef): tcgpara;override;
           function get_funcretloc(p : tabstractprocdef; side: tcallercallee; forcetempdef: tdef): tcgpara;override;
+          function get_saved_registers_int(calloption: tproccalloption): tcpuregisterarray;override;
           function get_saved_registers_fpu(calloption: tproccalloption): tcpuregisterarray;override;
           function get_saved_registers_fpu(calloption: tproccalloption): tcpuregisterarray;override;
          private
          private
           procedure init_values(var curintreg, curfloatreg, curmmreg: tsuperregister; var cur_stack_offset: aword);
           procedure init_values(var curintreg, curfloatreg, curmmreg: tsuperregister; var cur_stack_offset: aword);
@@ -69,11 +70,19 @@ unit cpupara;
       end;
       end;
 
 
 
 
+    function tcpuparamanager.get_saved_registers_int(calloption : tproccalloption):tcpuregisterarray;
+      const
+        saved_regs: tcpuregisterarray = (RS_X2,RS_X8,RS_X9,RS_X18,RS_X19,RS_X20,RS_X21,RS_X22,RS_X23,RS_X24,RS_X26,RS_X26,RS_X27);
+      begin
+        result:=saved_regs;
+      end;
+
+
     function tcpuparamanager.get_saved_registers_fpu(calloption : tproccalloption):tcpuregisterarray;
     function tcpuparamanager.get_saved_registers_fpu(calloption : tproccalloption):tcpuregisterarray;
       const
       const
-        inv: tcpuregisterarray = (RS_F8,RS_F9,RS_F18,RS_F19,RS_F20,RS_F21,RS_F22,RS_F23,RS_F24,RS_F25,RS_F26,RS_F27);
+        saved_regs: tcpuregisterarray = (RS_F8,RS_F9,RS_F18,RS_F19,RS_F20,RS_F21,RS_F22,RS_F23,RS_F24,RS_F25,RS_F26,RS_F27);
       begin
       begin
-        result:=inv;
+        result:=saved_regs;
       end;
       end;