Patent ID: 8700884

Claim:
A data processing system, comprising: a constant storage location including at least two predetermined constant values; and processor circuitry for executing one or more instructions, the one or more instructions comprising a permutation instruction which identifies: a first source register from a plurality of general purpose registers, at least one other source register from the plurality of general purpose registers, and a destination register from the plurality of general purpose registers, the constant storage location being different from the destination register, the first source register for storing: at least one in-range index value for the at least one other source register and at least one out-of-range index value for the at least one other source register, and the at least one other source register for storing a plurality of vector element values, wherein each in-range index value indicates which vector element value of the at least one other source register is to be stored into a first vector element location of the destination register that corresponds to a first vector element location of the in-range index value, and wherein each out-of-range index value is in one of at least two out-of-range index value ranges that is used to indicate which one of the at least two predetermined constant values is to be retrieved from the constant storage location and written to a second vector element location of the destination register that corresponds to a second vector element location of the out-of-range index value, and wherein each one of the at least two predetermined constant values is associated with a corresponding out-of-range index value range.