[MPlayer-dev-eng] Shall we set HAVE_FAST_CMOV in mplayer's configure?
poirierg at gmail.com
Tue Jan 30 14:08:15 CET 2007
On 1/30/07, Zuxy Meng <zuxy.meng at gmail.com> wrote:
> 2007/1/30, Guillaume POIRIER <poirierg at gmail.com>:
> > On 1/30/07, Zuxy Meng <zuxy.meng at gmail.com> wrote:
> > > Should Netburst CPUs use branchless or branchy asm?
> > The benches I ran when this code was introduced telles me that branchy
> > ASM is the one that performs best on Netburst-based CPU.
> So why HAVE_FAST_CMOV? We can just define something like HAVE_TRACE_CACHE and
Because the effectiveness of this specific code depends on knowing if
cmov is fast or not. It doesn't depend on knowing if the cpu has a
To put it another way, a tracecache-less cpu could have slow cmov, and
would would be expected to be slow running the said code.
Remember that HAVE_FAST_CMOV implies HAVE_CMOV
> #ifdef HAVE_TRACE_CACHE
> use branchy asm (for P4s)
> #elif defined(HAVE_CMOV)
> use branchless cmov asm (for P6s and Athlons)
> use branchless setcc asm (for P5s and K6s)
First, there aren't currently any cabac code with setcc opcode, though
I imagine it should be quite simple to adapt cmov code to setcc...
As far as I can see, this should work:
use branchy asm (for P4s)
use branchless cmov asm (for P6s and Athlons)
use branchless setcc asm (for P5s and K6s)
More information about the MPlayer-dev-eng