hi all
i implemented an simd optimized delread~ and delwrite~ ... works fine for me, but it has a different behaviour than the original delread~/delwrite~. i'm quantizing the delay samples to multiples op 16 ... seems reasonable to me, since the delread~/write~ objects take ms as argument, not samples ... but still, this changes the behaviour of the object!!!
if someone needs the original behaviour, please uncomment #define DEL_SIMD in d_delay.c.
there is also no test for denormals any more, devel_ uses the hardware daz/ftz on the sse unit ...
cheers ... tim
i'm quantizing the delay samples to multiples op 16 ... seems reasonable to me, since the delread~/write~ objects take ms as argument, not samples ... but still, this changes the behaviour of the object!!!
Hmmm, since PD uses floats for ms i'm not sure if this is really a valid simplification. There are code examples out there for re-aligning non-aligned number streams in SIMD though. Let's see if i find them....
best greetings, Thomas
Hmmm, since PD uses floats for ms i'm not sure if this is really a valid simplification. There are code examples out there for re-aligning non-aligned number streams in SIMD though. Let's see if i find them....
hm ... not sure if this is an option for delread~, since several delread~ objects might require differently aligned vectors... but if you can send me some pointers, i'd love to have a look at them ...
cheers ... tim
Hmmm, since PD uses floats for ms i'm not sure if this is really a valid simplification. There are code examples out there for re-aligning non-aligned number streams in SIMD though. Let's see if i find them....
all right ... i added a runtime dispatching between aligned and non-aligned delays, still keeping the advantage of aligned signals ...
should be 100% compatible and (well, not exactly) 100% faster ...
cheers ... tim