[PD-dev] d_math.c "break[s] strict-aliasing rules"

Tim Blechmann tim at klingt.org
Fri Apr 20 00:08:56 CEST 2007


> > i did some benchmarks of pd's phasor~ code against a straight-forward
> > implementation on my pentium-m, when implementing the objects for  
> > nova.
> > the straight-forward implementation ran about 20 to 30 % faster  
> > than the
> > pd-style implementation.
> 
> Do you still have the code from the straight forward implementation?

i'm not sure, if i still have the benchmark code somewhere on my
machine, the phasor~/osc~ implementation can be found at
http://svn.klingt.org/nova/trunk/source/language/dsp/oscillator.cpp ... 


> > code like sqare root or inverse square root can be coded by just
> > utilizing the rsqrtps and sqrtps opcodes, with a 14 bit precision,  
> > when
> > working on the sse unit ...
> 
> 14bit precision would leave a lot to be desired in Pd. Are there high  
> precision operators?

erm, according to the comments in d_math.c, miller's code only precise
for 8 mantissa bits and sqrt/rsqrt are aliases for q8_sqrt/q8_rsqrt

> >> An alternative would be to special-case the offending code  
> >> somehow.  This
> >> could be part of a larger effort to make the DSP code modular so  
> >> that SSE
> >> instructions and whatnot could also be "plugged in".  Worth  
> >> thinking about...
> >
> > according to the gcc manual, simple vectorizable operactions, that's
> > used for audio processing, can be autovectorized, if (and only if) the
> > programmer takes care of both alignment and aliasing issues ...
> 
> Is complying with -fstrict-aliasing enough to take care of the  
> aliasing issues?

aeh, no ... when referring to the term aliasing when talking about of
vectorizable functions, i'm referring to the aliasing of pointers as
function arguments ...
it should be described in the gcc manual in detail ...

tim

--
tim at klingt.org    ICQ: 96771783
http://tim.klingt.org

Silence is only frightening to people who are compulsively
verbalizing.
  William S. Burroughs
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20070420/7183336d/attachment.pgp>


More information about the Pd-dev mailing list