[FFmpeg-devel] regression - mpeg2 interlace/topfield flags not set anymore
Sun Jan 27 22:04:33 CET 2008
On Sun, 2008-01-27 at 16:03 -0500, Rich Felker wrote:
> The gcc folks may be doing broken optimizations of d==d when
> -ffast-math is specified, but I would hope not. This is certainly
> wrong and positively useless as an optimization; no one would ever
> write d==d unless they mean to test for nan.
-ffast-math is explicitly specified as an "unsafe" optimization which
will not follow IEEE floating point rules. It implies -ffinite-math-only
which makes optimizations assume no argument or result will be a NaN or
Inf. It wouldn't make much sense to special-case an explicit test like
"d==d" and separate it from cases where the compiler can otherwise
deduce a value will be compared with itself. So based on the description
of the option gcc is doing the correct thing when it always evaluates
d==d to true.
More information about the ffmpeg-devel