Re: SSE2 assembly support
"Timothy B. Terriberry" <[email protected]> Wed, 10 Feb 2010 18:30:31 -0500
| Newsgroups | gmane.comp.multimedia.ogg.theora.devel |
|---|---|
| Message-ID | <[email protected]> |
There is some room for SSE2 optimizations (I just committed some earlier today), but right now the slowest functions in the encoder are all in C. A few of these could benefit from SIMD, but algorithmic optimizations will be both easier and give bigger performance improvements. Many of the existing SIMD functions operate on 8x8 blocks, and so MMX is generally enough to extract the maximum amount of parallelism. Restructuring things to operate on larger blocks when possible is a good idea, but a lot more work. Finally, I am not generally a fan of intrinsics because a) their portability is overrated and b) last I checked, compilers generate horrible code from them. The current inline asm already works for 32-bit and 64-bit platforms, except on Windows, but that is MSVC's fault.