[Bug tree-optimization/86509] Invalid conversion of comparison with infinity
ubizjak at gmail dot com
gcc-bugzilla@gcc.gnu.org
Thu Jul 12 21:14:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86509
--- Comment #1 from Uroš Bizjak <ubizjak at gmail dot com> ---
Ops, no, the above is with gcc-7.3.
gcc-9 correctly emits:
x.0_1 ={v} x;
_2 = x.0_1 u<=
1.79769313486231570814527423731704356798070567525844996599e+308;
_3 = (int) _2;
i ={v} _3;
_4 = fetestexcept (131072);
which is later compiled to branchless code:
cmptun/su $f11,$f10,$f12
ftoit $f12,$2
cmptle/su $f11,$f10,$f12
cmpult $31,$2,$2
ftoit $f12,$1
cmovne $1,1,$2
Unfortunately, cmptle generates exception, so the testcase aborts.
More information about the Gcc-bugs
mailing list