|
@@ -64,6 +64,11 @@ unit cgcpu;
|
|
|
procedure a_load_ref_reg(list : TAsmList; fromsize, tosize : tcgsize;const Ref : treference;reg : tregister);override;
|
|
|
procedure a_load_reg_reg(list : TAsmList; fromsize, tosize : tcgsize;reg1,reg2 : tregister);override;
|
|
|
|
|
|
+ { fpu move instructions }
|
|
|
+ procedure a_loadfpu_reg_reg(list: TAsmList; fromsize, tosize: tcgsize; reg1, reg2: tregister); override;
|
|
|
+ procedure a_loadfpu_ref_reg(list: TAsmList; fromsize, tosize: tcgsize; const ref: treference; reg: tregister); override;
|
|
|
+ procedure a_loadfpu_reg_ref(list: TAsmList; fromsize, tosize: tcgsize; reg: tregister; const ref: treference); override;
|
|
|
+
|
|
|
{ comparison operations }
|
|
|
procedure a_cmp_const_reg_label(list : TAsmList;size : tcgsize;cmp_op : topcmp;a : tcgint;reg : tregister;
|
|
|
l : tasmlabel);override;
|
|
@@ -94,11 +99,14 @@ unit cgcpu;
|
|
|
tmpreg : tregister) : treference;
|
|
|
|
|
|
procedure g_intf_wrapper(list: TAsmList; procdef: tprocdef; const labelname: string; ioffset: longint);override;
|
|
|
+ procedure g_stackpointer_alloc(list : TAsmList;size : longint);override;
|
|
|
procedure emit_mov(list: TAsmList;reg2: tregister; reg1: tregister);
|
|
|
|
|
|
procedure a_adjust_sp(list: TAsmList; value: longint);
|
|
|
function GetLoad(const ref : treference) : tasmop;
|
|
|
function GetStore(const ref: treference): tasmop;
|
|
|
+
|
|
|
+ procedure a_bit_scan_reg_reg(list: TAsmList; reverse: boolean; size: TCGSize; src, dst: TRegister); override;
|
|
|
end;
|
|
|
|
|
|
tcg64favr = class(tcg64f32)
|
|
@@ -1076,6 +1084,24 @@ unit cgcpu;
|
|
|
end;
|
|
|
|
|
|
|
|
|
+ procedure tcgavr.a_loadfpu_reg_reg(list: TAsmList; fromsize,tosize: tcgsize; reg1, reg2: tregister);
|
|
|
+ begin
|
|
|
+ internalerror(2012010702);
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tcgavr.a_loadfpu_ref_reg(list: TAsmList; fromsize,tosize: tcgsize; const ref: treference; reg: tregister);
|
|
|
+ begin
|
|
|
+ internalerror(2012010703);
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
+ procedure tcgavr.a_loadfpu_reg_ref(list: TAsmList; fromsize, tosize: tcgsize; reg: tregister; const ref: treference);
|
|
|
+ begin
|
|
|
+ internalerror(2012010704);
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
{ comparison operations }
|
|
|
procedure tcgavr.a_cmp_const_reg_label(list : TAsmList;size : tcgsize;
|
|
|
cmp_op : topcmp;a : tcgint;reg : tregister;l : tasmlabel);
|
|
@@ -1180,6 +1206,12 @@ unit cgcpu;
|
|
|
end;
|
|
|
|
|
|
|
|
|
+ procedure tcgavr.a_bit_scan_reg_reg(list: TAsmList; reverse: boolean; size: TCGSize; src, dst: TRegister);
|
|
|
+ begin
|
|
|
+ Comment(V_Error,'tcgarm.a_bit_scan_reg_reg method not implemented');
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
procedure tcgavr.a_jmp_name(list : TAsmList;const s : string);
|
|
|
var
|
|
|
ai : taicpu;
|
|
@@ -1675,6 +1707,12 @@ unit cgcpu;
|
|
|
end;
|
|
|
|
|
|
|
|
|
+ procedure tcgavr.g_stackpointer_alloc(list: TAsmList; size: longint);
|
|
|
+ begin
|
|
|
+ internalerror(201201071);
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
procedure tcgavr.g_intf_wrapper(list: TAsmList; procdef: tprocdef; const labelname: string; ioffset: longint);
|
|
|
begin
|
|
|
internalerror(2011021324);
|