[ODE] Some SSE in Quick step

GARY VANSICKLE g.r.vansickle at worldnet.att.net
Thu May 27 23:22:26 MST 2004


> GARY VANSICKLE wrote:
> > ..and then you spend the rest of your life explaining to customers why
> the
> > binary compiled with 3DNOW! doesn't work on an PIII.  It has to be a
> > run-time thing or it'd cause more trouble than it's worth.
> Tho, like Pierre Terdiman already said, there's little to be gained from
> such fine grained operations if you don't play nice with the compiler
> (inlining).
> 

AFAIK, nobody's actually ever verified that D3DX's mathematical
manipulations are slower than ODE's built-in.  Which is part of why a
referred to this as a "non-argument".

> Then there's no need to do some jumptable chachacha à la DirectX when
> you're dynamically linking Ode: link against the proper dll (ie
> ode-sse2.dll) at run time.

As a wise man once sang, "We'd all love to see the plan" ;-).  I'm guessing
D3DX does at least as well as that.  It's certainly not doing anything like:

If(SSE2)
{
	SSE2MatrixMultiply();
}
Else if(SSE)
{
	SSEMatrixMultiply();
}
Else if...

if that's what you're getting at.

> That just require some rather thin per platform gluing.
> 

And a huge number of DLL's/.so's, which will need to keep growing on an
almost monthly basis as new processors come out with new features.  I say
let Bill do it; he already is anyway.

> If you're linking statically then it's your problem.
> 

Of course, which is why I see compiled-in SSE instructions to be of limited
use.  All the "pain" of macroizing things so that you can still build for
non-SSE platforms, plus all the real pain of binaries that work on exactly
one version of processor.

-- 
Gary R. Van Sickle





More information about the ODE mailing list