Patent ID: 8769251

Claim:
A data processing apparatus comprising: first circuitry configured to handle different sized data values according to a first endian format, each data value consisting of a number of data elements with the number being dependent on the data value size; second circuitry configured to handle the data values according to a second endian format where the data elements of the data values are ordered differently with respect to their ordering in the first endian format; swizzle circuitry configured to receive from the first circuitry a block of data containing at least one data value, and converting each data value in the block from the first endian format to the second endian format, the swizzle circuitry comprising: first swizzle circuitry configured to perform a reordering operation on the block of data assuming the at least one data value contained therein is of a first predetermined size, in order to produce reordered data; second swizzle circuitry, separate from said first swizzle circuitry, responsive to an indication that the at least one data value is of a size different to said first predetermined size and configured to perform an additional reordering operation on the reordered data having regard to the size of the at least one data value in order to convert each of the at least one data value to the second endian format; the swizzle circuitry being configured to output to the second circuitry, in response to an indication that the at least one data value is of said first predetermined size, the reordered data produced by the first swizzle circuitry, and otherwise to output to the second circuitry the data produced by the second swizzle circuitry, wherein the swizzle circuitry provides two data paths, a first data passing from an input through the first swizzle circuitry to an output, and a second data path passing from the input through the first swizzle circuitry and the second swizzle circuitry to the output, data routed through the second path taking at least one cycle longer to reach the output than data routed through the first path.