mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-13 02:29:36 +02:00
+ set pi_do_call on RiscV as well if we check for fpu exceptions
This commit is contained in:
parent
ae121a2d5e
commit
a736a4bba7
@ -303,6 +303,14 @@ implementation
|
||||
else
|
||||
Result:=inherited pass_1;
|
||||
|
||||
{ if the result is not nil, a new node has been generated and the current node will be discarted }
|
||||
if Result=nil then
|
||||
begin
|
||||
if left.resultdef.typ=floatdef then
|
||||
if needs_check_for_fpu_exceptions then
|
||||
Include(current_procinfo.flags,pi_do_call);
|
||||
end;
|
||||
|
||||
if expectloc=LOC_FLAGS then
|
||||
expectloc:=LOC_REGISTER;
|
||||
if (expectloc=LOC_JUMP)
|
||||
|
@ -65,6 +65,7 @@ implementation
|
||||
aasmtai,aasmdata,aasmcpu,
|
||||
symconst,symdef,
|
||||
defutil,
|
||||
procinfo,
|
||||
cgbase,pass_2,
|
||||
cpuinfo,ncgutil,
|
||||
hlcgobj,cgutils,cgobj,rgobj,tgobj;
|
||||
@ -80,6 +81,8 @@ implementation
|
||||
begin
|
||||
expectloc:=LOC_FPUREGISTER;
|
||||
first_sqrt_real := nil;
|
||||
if needs_check_for_fpu_exceptions then
|
||||
Include(current_procinfo.flags,pi_do_call);
|
||||
end
|
||||
else
|
||||
result:=inherited first_sqrt_real;
|
||||
@ -104,6 +107,8 @@ implementation
|
||||
begin
|
||||
expectloc:=LOC_FPUREGISTER;
|
||||
first_sqr_real := nil;
|
||||
if needs_check_for_fpu_exceptions then
|
||||
Include(current_procinfo.flags,pi_do_call);
|
||||
end
|
||||
else
|
||||
result:=inherited first_sqr_real;
|
||||
@ -116,6 +121,8 @@ implementation
|
||||
begin
|
||||
expectloc:=LOC_FPUREGISTER;
|
||||
first_round_real := nil;
|
||||
if needs_check_for_fpu_exceptions then
|
||||
Include(current_procinfo.flags,pi_do_call);
|
||||
end
|
||||
else
|
||||
result:=inherited first_round_real;
|
||||
@ -128,6 +135,8 @@ implementation
|
||||
begin
|
||||
expectloc:=LOC_FPUREGISTER;
|
||||
first_trunc_real := nil;
|
||||
if needs_check_for_fpu_exceptions then
|
||||
Include(current_procinfo.flags,pi_do_call);
|
||||
end
|
||||
else
|
||||
result:=inherited first_trunc_real;
|
||||
@ -136,6 +145,8 @@ implementation
|
||||
|
||||
function trvinlinenode.first_fma: tnode;
|
||||
begin
|
||||
if needs_check_for_fpu_exceptions then
|
||||
Include(current_procinfo.flags,pi_do_call);
|
||||
Result:=nil;
|
||||
end;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user