| From: | Gregory Maxwell <gmaxwell(at)gmail(dot)com> |
|---|---|
| To: | Greg Stark <gsstark(at)mit(dot)edu> |
| Cc: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Michael Paesold <mpaesold(at)gmx(dot)at>, Michael Glaesemann <grzm(at)myrealbox(dot)com>, pgsql-hackers(at)postgresql(dot)org |
| Subject: | Re: Interval aggregate regression failure (expected seems |
| Date: | 2005-11-07 20:07:15 |
| Message-ID: | e692861c0511071207w7696ea4av267c50fa687a7a07@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers pgsql-patches |
On 07 Nov 2005 14:22:37 -0500, Greg Stark <gsstark(at)mit(dot)edu> wrote:
> IIRC, floating point registers are actually longer than a double so if the
> entire calculation is done in registers and then the result rounded off to
> store in memory it may get the right answer. Whereas if it loses the extra
> bits on the intermediate values (the infinite repeating fractions) that might
> be where you get the imprecise results.
Hm. I thought -march=pentium4 -mcpu=pentium4 implies -mfpmath=sse.
SSE is a much better choice on P4 for performance reasons, and never
has excess precision. I'm guessing from the above that I'm incorrect,
in which case we should always be compiled with -mfpmath=sse -msse2
when we are complied -march=pentium4, this should remove problems
caused by excess precision. The same behavior can be had on non sse
platforms with -ffloat-store.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2005-11-07 20:19:23 | Re: Crash during elog.c... |
| Previous Message | Jim C. Nasby | 2005-11-07 19:58:15 | Re: Crash during elog.c... |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Neil Conway | 2005-11-07 23:10:13 | Re: return can contains any row or record functions |
| Previous Message | Greg Stark | 2005-11-07 19:25:35 | Re: Interval aggregate regression failure (expected seems |