------- Comment #26 from burnus at gcc dot gnu dot org 2009-07-03 13:07 ------- > has a superfluous check || (pos.0 == 0 && (*D.1568)[S.3 + D.1569] == limit.2) > at least for flag_finite_math_only. If the array cannot contain Inf or NaN > then it either has all elements == FLT_MAX, so pos will stay zero, or at > least one is less than FLT_MAX in which case pos will be adjusted anyway.
I have not checked whether algorithm requires the check; NaN/Inf are possible, but maybe the check is still not needed. And if it is, one could enclose it in a if(!flag_finite_math_only) condition. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31067