mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-11-10 15:49:39 +01:00
* fixed arm compiler by adding a_call_ref
git-svn-id: trunk@3416 -
This commit is contained in:
parent
49b6e35862
commit
fa03ab8fe5
@ -48,6 +48,7 @@ unit cgcpu;
|
||||
|
||||
procedure a_call_name(list : TAsmList;const s : string);override;
|
||||
procedure a_call_reg(list : TAsmList;reg: tregister);override;
|
||||
procedure a_call_ref(list : TAsmList;ref: treference);override;
|
||||
|
||||
procedure a_op_const_reg(list : TAsmList; Op: TOpCG; size: TCGSize; a: aint; reg: TRegister); override;
|
||||
procedure a_op_reg_reg(list : TAsmList; Op: TOpCG; size: TCGSize; src, dst: TRegister); override;
|
||||
@ -299,6 +300,17 @@ unit cgcpu;
|
||||
end;
|
||||
|
||||
|
||||
procedure tcgarm.a_call_ref(list : TAsmList;ref: treference);
|
||||
begin
|
||||
a_reg_alloc(list,NR_R12);
|
||||
a_load_ref_reg(list,OS_ADDR,OS_ADDR,ref,NR_R12);
|
||||
list.concat(taicpu.op_reg_reg(A_MOV,NR_R14,NR_PC));
|
||||
list.concat(taicpu.op_reg_reg(A_MOV,NR_PC,NR_R12));
|
||||
a_reg_dealloc(list,NR_R12);
|
||||
include(current_procinfo.flags,pi_do_call);
|
||||
end;
|
||||
|
||||
|
||||
procedure tcgarm.a_op_const_reg(list : TAsmList; Op: TOpCG; size: TCGSize; a: aint; reg: TRegister);
|
||||
begin
|
||||
a_op_const_reg_reg(list,op,size,a,reg,reg);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user