On 2/2/23 15:38, Vineet Gupta wrote:
Hi,
I've noticed SPEC 2017, 511.pov failing for RV64 on bleeding edge gcc.
This is with -Ofast -march=rv64gcv_zba_zbb_zbc_zbs.
Problem also happens with -O3 -ffast-math (and goes away with
fast-math removed)
I've bisected it to b7fd7fb50111 ("frange: drop endpoints to min/max
representable numbers for -ffinite-math-only")
With that commit evrp is eliding a bunch of if conditions as they
pertain to inf (in code snippet below, it elides code corresponding to
lines 1401-1418 with line 1417 being elided causing the failure).
I think I know the answer, but just wanted to confirm if that is the
intended behavior given -Ofast / -ffast-math
Thx,
-Vineet
Apologies, mailer munged the code snippet
New->Angle = __builtin_huge_val();
...
switch(New->Type)
{
...
1246: if(Parse_Camera_Mods(New) == false)
EXIT
...
}
1401: if (New->Up != __builtin_huge_val())
{
...
}
1417: if (New->Angle != __builtin_huge_val())
{
1419: if ((New->Type == PERSPECTIVE_CAMERA) ||
||