+ more make_simple_ref added

git-svn-id: trunk@1761 -
This commit is contained in:
florian 2005-11-15 20:03:30 +00:00
parent f8e6df62b6
commit ef2966e2a6

View File

@ -34,12 +34,12 @@ interface
procedure emit_none(i : tasmop;s : topsize); procedure emit_none(i : tasmop;s : topsize);
procedure emit_reg(i : tasmop;s : topsize;reg : tregister); procedure emit_reg(i : tasmop;s : topsize;reg : tregister);
procedure emit_ref(i : tasmop;s : topsize;const ref : treference); procedure emit_ref(i : tasmop;s : topsize;ref : treference);
procedure emit_const_reg(i : tasmop;s : topsize;c : aint;reg : tregister); procedure emit_const_reg(i : tasmop;s : topsize;c : aint;reg : tregister);
procedure emit_const_ref(i : tasmop;s : topsize;c : aint;const ref : treference); procedure emit_const_ref(i : tasmop;s : topsize;c : aint;ref : treference);
procedure emit_ref_reg(i : tasmop;s : topsize;const ref : treference;reg : tregister); procedure emit_ref_reg(i : tasmop;s : topsize;ref : treference;reg : tregister);
procedure emit_reg_ref(i : tasmop;s : topsize;reg : tregister;const ref : treference); procedure emit_reg_ref(i : tasmop;s : topsize;reg : tregister;ref : treference);
procedure emit_reg_reg(i : tasmop;s : topsize;reg1,reg2 : tregister); procedure emit_reg_reg(i : tasmop;s : topsize;reg1,reg2 : tregister);
procedure emit_const_reg_reg(i : tasmop;s : topsize;c : longint;reg1,reg2 : tregister); procedure emit_const_reg_reg(i : tasmop;s : topsize;c : longint;reg1,reg2 : tregister);
@ -54,7 +54,7 @@ implementation
uses uses
cutils, cutils,
systems,verbose, systems,verbose,
cgobj; cgobj,cgx86;
{***************************************************************************** {*****************************************************************************
@ -71,9 +71,10 @@ implementation
exprasmList.concat(Taicpu.Op_reg(i,s,reg)); exprasmList.concat(Taicpu.Op_reg(i,s,reg));
end; end;
procedure emit_ref(i : tasmop;s : topsize;const ref : treference); procedure emit_ref(i : tasmop;s : topsize;ref : treference);
begin begin
exprasmList.concat(Taicpu.Op_ref(i,s,ref)); tcgx86(cg).make_simple_ref(exprasmlist,ref);
exprasmList.concat(Taicpu.Op_ref(i,s,ref));
end; end;
procedure emit_const_reg(i : tasmop;s : topsize;c : aint;reg : tregister); procedure emit_const_reg(i : tasmop;s : topsize;c : aint;reg : tregister);
@ -81,19 +82,22 @@ implementation
exprasmList.concat(Taicpu.Op_const_reg(i,s,c,reg)); exprasmList.concat(Taicpu.Op_const_reg(i,s,c,reg));
end; end;
procedure emit_const_ref(i : tasmop;s : topsize;c : aint;const ref : treference); procedure emit_const_ref(i : tasmop;s : topsize;c : aint;ref : treference);
begin begin
exprasmList.concat(Taicpu.Op_const_ref(i,s,c,ref)); tcgx86(cg).make_simple_ref(exprasmlist,ref);
exprasmList.concat(Taicpu.Op_const_ref(i,s,c,ref));
end; end;
procedure emit_ref_reg(i : tasmop;s : topsize;const ref : treference;reg : tregister); procedure emit_ref_reg(i : tasmop;s : topsize;ref : treference;reg : tregister);
begin begin
exprasmList.concat(Taicpu.Op_ref_reg(i,s,ref,reg)); tcgx86(cg).make_simple_ref(exprasmlist,ref);
exprasmList.concat(Taicpu.Op_ref_reg(i,s,ref,reg));
end; end;
procedure emit_reg_ref(i : tasmop;s : topsize;reg : tregister;const ref : treference); procedure emit_reg_ref(i : tasmop;s : topsize;reg : tregister;ref : treference);
begin begin
exprasmList.concat(Taicpu.Op_reg_ref(i,s,reg,ref)); tcgx86(cg).make_simple_ref(exprasmlist,ref);
exprasmList.concat(Taicpu.Op_reg_ref(i,s,reg,ref));
end; end;
procedure emit_reg_reg(i : tasmop;s : topsize;reg1,reg2 : tregister); procedure emit_reg_reg(i : tasmop;s : topsize;reg1,reg2 : tregister);