[Bug rtl-optimization/323] optimized code gives strange floating point results
------- Comment #87 from bruno at clisp dot org 2006-12-21 15:08 -------
The option -ffloat-store, recommended by Richard Henderson, has the effect of
decreasing the performance of floating-point operations for the entire
compilation unit. If you want a minimal fix that does not affect other
functions in the same compilation unit, you can use 'volatile double'
instead of 'double'. It's like a one-shot -ffloat-store. Example:
#include <stdio.h>
void test(double x, double y)
{
const volatile double y2 = x + 1.0;
if (y != y2) printf("error\n");
}
void main()
{
const double x = .012;
const double y = x + 1.0;
test(x, y);
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=323
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
Reply to: