mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-06-08 00:38:57 +02:00
* get rid of 64 bit operations on 64 bit targets as well if possible
git-svn-id: trunk@25896 -
This commit is contained in:
parent
c8743c4826
commit
d201bcb1cd
@ -2441,7 +2441,6 @@ implementation
|
|||||||
because whether or not expressions are evaluated as 64 bit by default depends
|
because whether or not expressions are evaluated as 64 bit by default depends
|
||||||
on cpu64bitaddr. Even on a cpu with a 64 bit alu, a 32 bit operations are
|
on cpu64bitaddr. Even on a cpu with a 64 bit alu, a 32 bit operations are
|
||||||
likely to be faster than 64 bit ones. }
|
likely to be faster than 64 bit ones. }
|
||||||
{$ifndef cpu64bitaddr}
|
|
||||||
|
|
||||||
{ checks whether we can safely remove 64 bit typeconversions }
|
{ checks whether we can safely remove 64 bit typeconversions }
|
||||||
{ in case range and overflow checking are off, and in case }
|
{ in case range and overflow checking are off, and in case }
|
||||||
@ -2557,15 +2556,12 @@ implementation
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
{$endif not cpu64bitaddr}
|
|
||||||
|
|
||||||
|
|
||||||
function ttypeconvnode.simplify(forinline : boolean): tnode;
|
function ttypeconvnode.simplify(forinline : boolean): tnode;
|
||||||
var
|
var
|
||||||
hp: tnode;
|
hp: tnode;
|
||||||
{$ifndef cpu64bitaddr}
|
|
||||||
foundsint: boolean;
|
foundsint: boolean;
|
||||||
{$endif not cpu64bitaddr}
|
|
||||||
begin
|
begin
|
||||||
result := nil;
|
result := nil;
|
||||||
{ Constant folding and other node transitions to
|
{ Constant folding and other node transitions to
|
||||||
@ -2591,6 +2587,7 @@ implementation
|
|||||||
left:=nil;
|
left:=nil;
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
realconstn :
|
realconstn :
|
||||||
begin
|
begin
|
||||||
if (convtype = tc_real_2_currency) then
|
if (convtype = tc_real_2_currency) then
|
||||||
@ -2613,6 +2610,7 @@ implementation
|
|||||||
hp.free;
|
hp.free;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
niln :
|
niln :
|
||||||
begin
|
begin
|
||||||
{ nil to ordinal node }
|
{ nil to ordinal node }
|
||||||
@ -2738,7 +2736,6 @@ implementation
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{$ifndef cpu64bitaddr}
|
|
||||||
{ must be done before code below, because we need the
|
{ must be done before code below, because we need the
|
||||||
typeconversions for ordconstn's as well }
|
typeconversions for ordconstn's as well }
|
||||||
case convtype of
|
case convtype of
|
||||||
@ -2757,8 +2754,6 @@ implementation
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
{$endif not cpu64bitaddr}
|
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user