Hi,
Not exactly related to this thread, but worth mentioning:
Some time ago I was interested in (numerical) computing some Bessel
function to the highest precision!
I looked at MMX, SSE, SSE2, SSE3, SSE4, FP87, 3D-something etc...
And all that jazz...
It turns out that only the "old" FP87 (FPU) has the 80 bit
(extended) floating format! Anything else, and you are limited to the
64 bit (double) floating numbers.
I fell sorry to see that even 25 years after the original 8087,
modern CPUs are not even capable to have the same precision!
Alain
Dariusz Mazur wrote:
Mattias Gaertner pisze:
On Fri, 28 Nov 2008 21:25:16 +0100
darekm <[EMAIL PROTECTED]> wrote:
Hi
Are in FPC some instruction set contains streaming SIMD (SSE) like
in GCC:
http://gcc.gnu.org/onlinedocs/gcc-4.3.2/gcc/X86-Built_002din-Functions.html
or in Microsoft Visual
http://msdn.microsoft.com/en-us/library/kcwz153a(VS.80).aspx
Use the mmx unit to discover what mmx/sse instruction set is supported
by your cpu. You can use mmx/sse commands directly in the asm
blocks and FPC automatically uses MMX/SSE instructions for your pascal
code if you allow it (specify CPU type). In my experiments FPC often
created faster code itself. So don't expect much speed gain when using
SSE instructions directly.
MMX can operate on 2 longint simultaneous and SSE on 4,
FPC often sometime make optimization to SSE, thus is faster.
I don't want write SSE instruction by hand, but would by nice to to tell
to compiler, where those optimization should be made (if its possible)
Darek
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel