SIMD PERMUTATIONS WITH EXTENDED RANGE IN A DATA PROCESSOR
First Claim
1. A data processing system, comprising:
- a plurality of general purpose registers; 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 the 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 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 corresponding vector element of the destination register and wherein each out-of-range index value is used to indicate which one of at least two predetermined constant values is to be stored into a corresponding vector element of the destination register.
19 Assignments
0 Petitions
Accused Products
Abstract
A processor in a data processing system executes a permutation instruction which identifies a first source register, at least one other source register, and a destination register. The first source register stores 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. The at least one other source register stores 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 corresponding vector element of the destination register. Each out-of-range index value is used to indicate which one of at least two predetermined constant values is to be stored into a corresponding vector element of the destination register. Partial table lookups using a permutation instruction shortens the time required to retrieve data.
-
Citations
20 Claims
-
1. A data processing system, comprising:
-
a plurality of general purpose registers; 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 the 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 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 corresponding vector element of the destination register and wherein each out-of-range index value is used to indicate which one of at least two predetermined constant values is to be stored into a corresponding vector element of the destination register. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for performing a permutation operation, comprising:
-
providing a plurality of general purpose registers; and providing processor circuitry for executing one or more instructions, the one or more instructions comprising a permutation instruction which identifies a first source register from the 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 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 corresponding vector element of the destination register and wherein each out-of-range index value is used to indicate which one of at least two predetermined constant values is to be stored into a corresponding vector element of the destination register. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A data processing system, comprising:
-
a plurality of general purpose registers; 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 the 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 first source register for storing at least one in-range index value for the at least one other source register, at least one positive out-of-range index value for the at least one other source register, and at least one negative 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 corresponding vector element of the destination register, wherein each positive out-of-range index indicates a first predetermined constant value that is to be stored into a corresponding vector element of the destination register, and wherein each negative out-of-range index indicates a second predetermined constant value to be stored into a corresponding vector element of the destination register. - View Dependent Claims (18, 19, 20)
-
Specification