mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-22 00:09:25 +02:00
* Mantis #17273: don't generate x87 instructions on win64 target.
git-svn-id: trunk@25995 -
This commit is contained in:
parent
d83fbd7602
commit
2b1e5f7014
@ -91,15 +91,25 @@ implementation
|
||||
|
||||
function tx86inlinenode.first_pi : tnode;
|
||||
begin
|
||||
expectloc:=LOC_FPUREGISTER;
|
||||
first_pi := nil;
|
||||
if (tfloatdef(pbestrealtype^).floattype=s80real) then
|
||||
begin
|
||||
expectloc:=LOC_FPUREGISTER;
|
||||
first_pi := nil;
|
||||
end
|
||||
else
|
||||
result:=inherited;
|
||||
end;
|
||||
|
||||
|
||||
function tx86inlinenode.first_arctan_real : tnode;
|
||||
begin
|
||||
expectloc:=LOC_FPUREGISTER;
|
||||
first_arctan_real := nil;
|
||||
if (tfloatdef(pbestrealtype^).floattype=s80real) then
|
||||
begin
|
||||
expectloc:=LOC_FPUREGISTER;
|
||||
first_arctan_real := nil;
|
||||
end
|
||||
else
|
||||
result:=inherited;
|
||||
end;
|
||||
|
||||
function tx86inlinenode.first_abs_real : tnode;
|
||||
@ -113,20 +123,31 @@ implementation
|
||||
|
||||
function tx86inlinenode.first_sqr_real : tnode;
|
||||
begin
|
||||
expectloc:=LOC_FPUREGISTER;
|
||||
if use_vectorfpu(resultdef) then
|
||||
expectloc:=LOC_MMREGISTER
|
||||
else
|
||||
expectloc:=LOC_FPUREGISTER;
|
||||
first_sqr_real := nil;
|
||||
end;
|
||||
|
||||
function tx86inlinenode.first_sqrt_real : tnode;
|
||||
begin
|
||||
expectloc:=LOC_FPUREGISTER;
|
||||
if use_vectorfpu(resultdef) then
|
||||
expectloc:=LOC_MMREGISTER
|
||||
else
|
||||
expectloc:=LOC_FPUREGISTER;
|
||||
first_sqrt_real := nil;
|
||||
end;
|
||||
|
||||
function tx86inlinenode.first_ln_real : tnode;
|
||||
begin
|
||||
expectloc:=LOC_FPUREGISTER;
|
||||
first_ln_real := nil;
|
||||
if (tfloatdef(pbestrealtype^).floattype=s80real) then
|
||||
begin
|
||||
expectloc:=LOC_FPUREGISTER;
|
||||
first_ln_real := nil;
|
||||
end
|
||||
else
|
||||
result:=inherited;
|
||||
end;
|
||||
|
||||
function tx86inlinenode.first_cos_real : tnode;
|
||||
|
@ -102,6 +102,9 @@ const
|
||||
result:=0;
|
||||
end;
|
||||
{$endif FPC_SYSTEM_HAS_SQRT}
|
||||
|
||||
{$ifdef FPC_HAS_TYPE_EXTENDED}
|
||||
|
||||
{$ifndef FPC_SYSTEM_HAS_ARCTAN}
|
||||
{$define FPC_SYSTEM_HAS_ARCTAN}
|
||||
function fpc_arctan_real(d : ValReal) : ValReal;compilerproc;
|
||||
@ -139,7 +142,6 @@ const
|
||||
end;
|
||||
{$endif FPC_SYSTEM_HAS_COS}
|
||||
|
||||
{$ifdef FPC_HAS_TYPE_EXTENDED}
|
||||
{$ifndef FPC_SYSTEM_HAS_EXP}
|
||||
{$define FPC_SYSTEM_HAS_EXP}
|
||||
function fpc_exp_real(d : ValReal) : ValReal;assembler;compilerproc;
|
||||
|
Loading…
Reference in New Issue
Block a user