------- Comment #4 from roger at eyesopen dot com 2006-05-20 15:14 ------- This problem is fixed by specifying the -frounding-math command line option, which informs the compiler that non-default rounding modes may be used. With gcc-3.4, specifying this command line option disables this potentially problematic transformation.
Strangely, on mainline, it looks like this transformation is no longer triggered, which may now indicate a missed optimization regression with (the default) -fno-rounding-math. We should also catch the division case. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21067