https://gcc.gnu.org/bugzilla/show_bug.cgi?id=35488
Eric Gallager changed:
What|Removed |Added
See Also||https://gcc.gnu.org/bugzill
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=35488
Tom de Vries changed:
What|Removed |Added
CC||vries at gcc dot gnu.org
--- Comment #11
--- Comment #10 from purnnam1 at naver dot com 2008-03-07 16:15 ---
Thanks to Brian's kind comment, I have knew that the exact mechanism.
In my understannding, the conclusion is as follows;
1. GCC 3.x doesn't generate any codes for 80-bit precision.
the FPU h/w just uses the 80-bit
--- Comment #9 from brian at dessent dot net 2008-03-07 01:20 ---
Subject: A incorrect result in a simple division, only in
32-bit gcc.
> Although I knew GCC use 80-bit format internally, I thought the result should
> be same in 80-bit format.
No, it's not that gcc uses 80 bit or 6
--- Comment #8 from purnnam1 at naver dot com 2008-03-07 00:37 ---
Actually the 80-bit internal format will be better in converting a decimal
number into the floating point number. In this point, the 80-bit internal
format may be useful.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?
--- Comment #7 from purnnam1 at naver dot com 2008-03-07 00:05 ---
Although I knew GCC use 80-bit format internally, I thought the result should
be same in 80-bit format.
Due to the very kind explanation about my problem, I can understand that the
result can be changed because the roundi
--- Comment #6 from pinskia at gcc dot gnu dot org 2008-03-06 23:18 ---
One more comment about this code, you are violating C/C++ aliasing rules.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35488
--- You are receiving this mail because: ---
You are on the CC list for the
--- Comment #5 from pinskia at gcc dot gnu dot org 2008-03-06 23:15 ---
The division is done and then rounded to 80bits and then rounded again to
64bits.
This is not really a bug. It is just a misunderstanding on how x87 FPU works.
fldl-24(%ebp)
fldl-32(%ebp)
--- Comment #4 from rguenth at gcc dot gnu dot org 2008-03-06 23:14 ---
The i?86 FPU computes values in 80bit precision by default. Starting with
GCC 4.3 you can use -mpc64 to reduce its precision to 64bits thereby obtaining
the valid IEEE-754 result. Or you can use -mfpmath=sse to use
--- Comment #3 from purnnam1 at naver dot com 2008-03-06 23:09 ---
This problem is not kind of a duplicate of #323.
--
purnnam1 at naver dot com changed:
What|Removed |Added
--
--- Comment #2 from purnnam1 at naver dot com 2008-03-06 23:07 ---
It's not simple floating point related error!
I fully understand that the decimal number can't be converted to the exact
floating point number. so, the result may be different from our expectation.
This problem has no r
--- Comment #1 from pinskia at gcc dot gnu dot org 2008-03-06 22:44 ---
*** This bug has been marked as a duplicate of 323 ***
--
pinskia at gcc dot gnu dot org changed:
What|Removed |Added
12 matches
Mail list logo