An in-depth analysis showed that it is possible to do in-place in-register
DCT and FFT as long as twin-result "butterfly" instructions are provided.
-These can be found in the [[openpower/isa/svfparith]] page.
+These can be found in the [[openpower/isa/svfparith]] page if performing
+IEEE754 FP transforms. *(For fixed-point transforms, equivalent 3-in 2-out
+integer operations would be required)*. These "butterfly" instructions
+avoid the need for a temporary register because the two array positions
+being overwritten will be "in-flight" in any In-Order or Out-of-Order
+micro-architecture.
DCT and FFT Schedules are currently limited to RADIX2 sizes and do not
accept predicate masks. Given that it is common to perform recursive
convolutions
combining smaller Power-2 DCT/FFT to create larger DCT/FFTs in practice the RADIX2
-limit is not a problem.
+limit is not a problem. A Bluestein convolution to compute arbitrary
+length is demonstrated
+by [Project Nayuki](https://www.nayuki.io/res/free-small-fft-in-multiple-languages/fft.py)
## Indexed