[Bug middle-end/34992] compiler produces wrong code when optimizing

2008-01-28 Thread roebel at ircam dot fr
--- Comment #8 from roebel at ircam dot fr 2008-01-28 10:00 --- For completeness : I now use this function that was proposed in PR 323. It seems to solve my issue. Thanks for the pointer! inline void set_math_double_precision() { fpu_control_t fpu_control ; _FPU_GETCW(fpu_c

[Bug middle-end/34992] compiler produces wrong code when optimizing

2008-01-27 Thread pinskia at gcc dot gnu dot org
--- Comment #7 from pinskia at gcc dot gnu dot org 2008-01-28 01:18 --- (In reply to comment #6) > Am I wrong, here ? Semi, what is happening is the values for std::less is being stored in the fpr register and that is really a 80bit register and not a 64bit fp register. -mpc64 is anot

[Bug middle-end/34992] compiler produces wrong code when optimizing

2008-01-27 Thread roebel at ircam dot fr
--- Comment #6 from roebel at ircam dot fr 2008-01-28 00:14 --- Andrew, while -ffloat-store fixes the problem, this solution is obviously not acceptable. Moreover, here the problem is not that I compare floats using <= the problem is that std::set::insert(double) compares set elements

[Bug middle-end/34992] compiler produces wrong code when optimizing

2008-01-27 Thread pinskia at gcc dot gnu dot org
--- Comment #5 from pinskia at gcc dot gnu dot org 2008-01-27 23:17 --- Even though -mfpmath=sse is used, x87 is used in some cases still and what you are seeing is an effect of PR 323. Closing as a duplicate. You should be more careful with your comparison loop of FP values. *** Thi

[Bug middle-end/34992] compiler produces wrong code when optimizing

2008-01-27 Thread roebel at ircam dot fr
--- Comment #4 from roebel at ircam dot fr 2008-01-27 23:05 --- yes indeed, that fixes the problem. now, does that mean holding double values in a set is not possible? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34992

[Bug middle-end/34992] compiler produces wrong code when optimizing

2008-01-27 Thread pinskia at gcc dot gnu dot org
-- pinskia at gcc dot gnu dot org changed: What|Removed |Added CC||pinskia at gcc dot gnu dot |