Modern Digital Signal Processor (DSP) applications often perform bit shuffling operations and the like, in order to implement required data manipulation. For example, such a bit shuffling operation is used in order to implement bit interleaving operations in WIMAX (Worldwide Interoperability for Microwave Access) or WCDMA (Wideband Code Division Multiple Access). The DSP is arranged to execute the bit shuffling operation in response to receiving a bit shuffling instruction.
Dedicated instructions can be used to support specific algorithm implementations that are known and planned for during development of a DSP. However, such dedicated instructions are typically not able to support algorithms that subsequently become required to be implemented after the design phase of the DSP.
The implementation of general bit shuffling/bit manipulation instructions within DSPs is known, for example using butterfly bit shifting circuitry. However, the complexity of implementing such techniques in hardware is extremely high, thereby increasing the development cost and time for finalising the DSP design.