On Fri, Feb 3, 2023 at 12:39 AM Vineet Gupta <vine...@rivosinc.com> 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
It's the intended behavior of -ffinite-math-only which is part of -Ofast / -ffast-math. There's a CLOSED INVALID bug in bugzilla about the povray failure as well. Richard. > Thx, > -Vineet > > > |New->Angle = __builtin_huge_val(); ||||switch(New->Type) ||{ ||... > ||1246: if(Parse_Camera_Mods(New) == false) ||EXIT ||... ||} ||||1401: > if (New->Up[X] == ||||__builtin_huge_val|()|) { ... } 1417: if > (New->Angle != |||__builtin_huge_val|()) ||{ ||1419: if ((New->Type == > PERSPECTIVE_CAMERA) |||