mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-07-30 14:26:00 +02:00
* fixed location.size for length node and x86_64 mul node
git-svn-id: trunk@9464 -
This commit is contained in:
parent
69c97f3ac6
commit
146b3d8bf3
@ -252,7 +252,7 @@ implementation
|
|||||||
hregister : tregister;
|
hregister : tregister;
|
||||||
begin
|
begin
|
||||||
if inlinenumber=in_sizeof_x then
|
if inlinenumber=in_sizeof_x then
|
||||||
location_reset(location,LOC_REGISTER,OS_INT)
|
location_reset(location,LOC_REGISTER,def_cgsize(resultdef))
|
||||||
else
|
else
|
||||||
location_reset(location,LOC_REGISTER,OS_ADDR);
|
location_reset(location,LOC_REGISTER,OS_ADDR);
|
||||||
{ for both cases load vmt }
|
{ for both cases load vmt }
|
||||||
@ -355,7 +355,7 @@ implementation
|
|||||||
if is_widestring(left.resultdef) then
|
if is_widestring(left.resultdef) then
|
||||||
cg.a_op_const_reg(current_asmdata.CurrAsmList,OP_SHR,OS_INT,1,hregister);
|
cg.a_op_const_reg(current_asmdata.CurrAsmList,OP_SHR,OS_INT,1,hregister);
|
||||||
cg.a_label(current_asmdata.CurrAsmList,lengthlab);
|
cg.a_label(current_asmdata.CurrAsmList,lengthlab);
|
||||||
location_reset(location,LOC_REGISTER,OS_INT);
|
location_reset(location,LOC_REGISTER,def_cgsize(resultdef));
|
||||||
location.register:=hregister;
|
location.register:=hregister;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
@ -38,6 +38,7 @@ interface
|
|||||||
uses
|
uses
|
||||||
globtype,globals,
|
globtype,globals,
|
||||||
aasmbase,aasmtai,aasmdata,
|
aasmbase,aasmtai,aasmdata,
|
||||||
|
defutil,
|
||||||
cgbase,cgutils,cga,cgobj,
|
cgbase,cgutils,cga,cgobj,
|
||||||
tgobj;
|
tgobj;
|
||||||
|
|
||||||
@ -56,7 +57,7 @@ interface
|
|||||||
pass_left_right;
|
pass_left_right;
|
||||||
|
|
||||||
{ The location.register will be filled in later (JM) }
|
{ The location.register will be filled in later (JM) }
|
||||||
location_reset(location,LOC_REGISTER,OS_INT);
|
location_reset(location,LOC_REGISTER,def_cgsize(resultdef));
|
||||||
{ Mul supports registers and references, so if not register/reference,
|
{ Mul supports registers and references, so if not register/reference,
|
||||||
load the location into a register}
|
load the location into a register}
|
||||||
use_ref:=false;
|
use_ref:=false;
|
||||||
|
Loading…
Reference in New Issue
Block a user