[patch] FFTW split complex fixes; SIMD unaligned fixes
Jules Bergmann
jules at codesourcery.com
Mon Jul 30 12:54:45 UTC 2007
This patch fixes and works around several bugs in split-complex FFT and
unaligned SIMD expressions.
Split-complex FFT support using FFTW was failing numerous tests. This
was a combination of bugs and unimplemented functionality in VSIPL++,
and bugs in FFTW.
* The VSIPL++ split complex to complex transforms (both FFT and FFTM)
did not handle inverse transforms at all.
* Split real-to-complex and complex-to-real transforms for FFTM were
unimplemented.
* FFTW (3.1.2 at least) plans capture the gap between real and imaginary
components for in-place complex FFTs, and for real-complex and
complex-real FFTs. If the plan is executed with data with a different
gap, all heck breaks loose. Work around is to copy data into buffers
with same alignment as during planning.
Unaligned SIMD (handling multiple unaligned vectors with the same
alignment) was broken. Instead of incrementing past the unaligned
section, it would decrement before. This caused it to skip the last
aligned word of the expressions. Fix is to make increment_by_element
explicit.
Patch to be applied, pending test results.
-- Jules
--
Jules Bergmann
CodeSourcery
jules at codesourcery.com
(650) 331-3385 x705
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: fftw-simd.diff
URL: <http://sourcerytools.com/pipermail/vsipl++/attachments/20070730/8927cf12/attachment.ksh>
More information about the vsipl++
mailing list