mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-17 16:29:24 +02:00
* disable 32 bit operation optimization for powerpc64
git-svn-id: trunk@25979 -
This commit is contained in:
parent
424d5cafb2
commit
bbabb77ec9
@ -136,6 +136,7 @@
|
|||||||
{$define cpurox}
|
{$define cpurox}
|
||||||
{$define cpurefshaveindexreg}
|
{$define cpurefshaveindexreg}
|
||||||
{$define fpc_compiler_has_fixup_jmps}
|
{$define fpc_compiler_has_fixup_jmps}
|
||||||
|
{$define cpuno32bitops}
|
||||||
{$endif powerpc64}
|
{$endif powerpc64}
|
||||||
|
|
||||||
{$ifdef arm}
|
{$ifdef arm}
|
||||||
|
@ -2437,6 +2437,11 @@ implementation
|
|||||||
result:=typecheck_call_helper(convtype);
|
result:=typecheck_call_helper(convtype);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
{ some code generators for 64 bit CPUs might not support 32 bit operations, so we can
|
||||||
|
disable the following optimization in fpcdefs.inc. Currently the only CPU for which
|
||||||
|
this applies is powerpc64
|
||||||
|
}
|
||||||
|
{$ifdef CPUNO32BITOPS}
|
||||||
{ 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
|
||||||
the result of this node tree is downcasted again to a
|
the result of this node tree is downcasted again to a
|
||||||
@ -2553,12 +2558,14 @@ implementation
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
{$endif CPUNO32BITOPS}
|
||||||
|
|
||||||
function ttypeconvnode.simplify(forinline : boolean): tnode;
|
function ttypeconvnode.simplify(forinline : boolean): tnode;
|
||||||
var
|
var
|
||||||
hp: tnode;
|
hp: tnode;
|
||||||
|
{$ifdef CPUNO32BITOPS}
|
||||||
foundsint: boolean;
|
foundsint: boolean;
|
||||||
|
{$endif CPUNO32BITOPS}
|
||||||
begin
|
begin
|
||||||
result := nil;
|
result := nil;
|
||||||
{ Constant folding and other node transitions to
|
{ Constant folding and other node transitions to
|
||||||
@ -2732,7 +2739,7 @@ implementation
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
{$ifdef CPUNO32BITOPS}
|
||||||
{ 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
|
||||||
@ -2751,6 +2758,7 @@ implementation
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
{$endif CPUNO32BITOPS}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user