mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-12-08 15:17:27 +01:00
+ enable using the cg64 ops OP_SHR/OP_SHL/OP_SAR on i386 for implementing the
64-bit in_sar/shl/shr_assign_x_y inline nodes git-svn-id: trunk@35835 -
This commit is contained in:
parent
03dfa07ebc
commit
d7c8a081a1
@ -75,6 +75,7 @@
|
|||||||
{$define SUPPORT_SAFECALL}
|
{$define SUPPORT_SAFECALL}
|
||||||
{$define SUPPORT_GET_FRAME}
|
{$define SUPPORT_GET_FRAME}
|
||||||
{$define cpucapabilities}
|
{$define cpucapabilities}
|
||||||
|
{$define cpucg64shiftsupport}
|
||||||
{$endif i386}
|
{$endif i386}
|
||||||
|
|
||||||
{$ifdef x86_64}
|
{$ifdef x86_64}
|
||||||
|
|||||||
@ -4676,6 +4676,14 @@ implementation
|
|||||||
var
|
var
|
||||||
procname: string[31];
|
procname: string[31];
|
||||||
begin
|
begin
|
||||||
|
{$ifdef cpucg64shiftsupport}
|
||||||
|
if inlinenumber in [in_sar_assign_x_y,in_shl_assign_x_y,in_shr_assign_x_y] then
|
||||||
|
begin
|
||||||
|
result:=nil;
|
||||||
|
expectloc:=tcallparanode(tcallparanode(left).right).left.expectloc;
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
{$endif cpucg64shiftsupport}
|
||||||
result := nil;
|
result := nil;
|
||||||
if is_signed(tcallparanode(left).right.resultdef) then
|
if is_signed(tcallparanode(left).right.resultdef) then
|
||||||
procname:='int64'
|
procname:='int64'
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user