SIMD

Started by Kent Sarikaya, October 25, 2007, 09:57:33 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Kent Sarikaya

I read this post tonight and thought you guys might find it interesting. I didn't know this kind of stuff could be done with current cpus.
It is a c++ and ASM post, but very well written and describes this cool feature.

http://www.3dbuzz.com/vbforum/showthread.php?t=104753

Charles Pegge

The SIMD extensions are primarily aimed at graphics vector processing and as the article points out, do not support square roots and the like directly, so these have to be approximated. They do the barebones minimum operations in parallel very efficiently, which is ideal for pixels, but can also be useful in other areas such as audio or simulation. Unfortunately, because the FPU shares much of the register and pipeline hardware as the MMX and SIMD extensions, you cant intermix FPU instructions with SSE instructions.

Current versions of PB go as far as supporting MMX but no further, so you will have to use opcodes to invoke the SIMD instructions.

Kent Sarikaya

Thanks Charles. Your examples with ASM are so nice to look at that it doesn't scare someone from studying it. Now I understand how opcodes work too, so slowly grasping things :)