* fixed reference/register types for thlcgobj.a_bit_test_*

git-svn-id: trunk@30717 -
This commit is contained in:
Jonas Maebe 2015-04-25 15:51:22 +00:00
parent 388cef8a34
commit c3233b21e8

View File

@ -1596,8 +1596,12 @@ implementation
end;
procedure thlcgobj.a_bit_test_const_ref_reg(list: TAsmList; fromsize, destsize: tdef; bitnumber: aint; const ref: treference; destreg: tregister);
var
href: treference;
begin
a_load_subsetref_reg(list,u8inttype,destsize,get_bit_const_ref_sref(bitnumber,fromsize,ref),destreg);
href:=ref;
g_ptrtypecast_ref(list,getpointerdef(fromsize),getpointerdef(u8inttype),href);
a_load_subsetref_reg(list,u8inttype,destsize,get_bit_const_ref_sref(bitnumber,fromsize,href),destreg);
end;
procedure thlcgobj.a_bit_test_const_reg_reg(list: TAsmList; setregsize, destsize: tdef; bitnumber: aint; setreg, destreg: tregister);
@ -1621,8 +1625,12 @@ implementation
end;
procedure thlcgobj.a_bit_test_reg_ref_reg(list: TAsmList; bitnumbersize, refsize, destsize: tdef; bitnumber: tregister; const ref: treference; destreg: tregister);
var
href: treference;
begin
a_load_subsetref_reg(list,u8inttype,destsize,get_bit_reg_ref_sref(list,bitnumbersize,refsize,bitnumber,ref),destreg);
href:=ref;
g_ptrtypecast_ref(list,getpointerdef(refsize),getpointerdef(u8inttype),href);
a_load_subsetref_reg(list,u8inttype,destsize,get_bit_reg_ref_sref(list,bitnumbersize,refsize,bitnumber,href),destreg);
end;
procedure thlcgobj.a_bit_test_reg_loc_reg(list: TAsmList; bitnumbersize, locsize, destsize: tdef; bitnumber: tregister; const loc: tlocation; destreg: tregister);
@ -1705,12 +1713,17 @@ implementation
end;
procedure thlcgobj.a_bit_set_const_ref(list: TAsmList; doset: boolean; destsize: tdef; bitnumber: tcgint; const ref: treference);
var
href: treference;
begin
a_load_const_subsetref(list,u8inttype,ord(doset),get_bit_const_ref_sref(bitnumber,destsize,ref));
href:=ref;
g_ptrtypecast_ref(list,getpointerdef(destsize),getpointerdef(u8inttype),href);
a_load_const_subsetref(list,u8inttype,ord(doset),get_bit_const_ref_sref(bitnumber,destsize,href));
end;
procedure thlcgobj.a_bit_set_const_reg(list: TAsmList; doset: boolean; destsize: tdef; bitnumber: tcgint; destreg: tregister);
begin
g_ptrtypecast_reg(list,getpointerdef(destsize),getpointerdef(u8inttype),destreg);
a_load_const_subsetreg(list,u8inttype,ord(doset),get_bit_const_reg_sreg(destsize,bitnumber,destreg));
end;
@ -1730,7 +1743,11 @@ implementation
end;
procedure thlcgobj.a_bit_set_reg_ref(list: TAsmList; doset: boolean; fromsize, tosize: tdef; bitnumber: tregister; const ref: treference);
var
href: treference;
begin
href:=ref;
g_ptrtypecast_ref(list,getpointerdef(tosize),getpointerdef(u8inttype),href);
a_load_const_subsetref(list,u8inttype,ord(doset),get_bit_reg_ref_sref(list,fromsize,tosize,bitnumber,ref));
end;