SIMD DOT PRODUCT OPERATIONS WITH OVERLAPPED OPERANDS
First Claim
1. A data processing system, comprising:
- a plurality of general purpose registers;
processor circuitry for executing one or more instructions, the one or more instructions comprising a vector dot product instruction for simultaneously performing at least two dot products, the vector dot product instruction identifying a first source register from the plurality of general purpose registers, and a second source register from the plurality of general purpose registers, each of the first source register and the second source register for storing a plurality of vector elements, wherein a first dot product of the at least two dot products is to be performed between a first subset of vector elements of the first source register and a first subset of vector elements of the second source register, and a second dot product of the at least two dot products is to be performed between a second subset of vector elements of the first source register and a second subset of vector elements of the second source register, wherein the first and second subsets of the second source register are different and wherein at least two vector elements of the first and second subsets of the second source register overlap.
22 Assignments
0 Petitions
Accused Products
Abstract
A data processing system includes a plurality of general purpose registers, and processor circuitry for executing one or more instructions, including a vector dot product instruction for simultaneously performing at least two dot products. The vector dot product instruction identifies a first and second source register, each for storing a plurality of vector elements, where a first dot product is to be performed between a first subset of vector elements of the first source register and a first subset of vector elements of the second source register, and a second dot product is to be performed between a second subset of vector elements of the first source register and a second subset of vector elements of the second source register. The first and second subsets of the second source register are different and at least two vector elements of the first and second subsets of the second source register overlap.
-
Citations
20 Claims
-
1. A data processing system, comprising:
-
a plurality of general purpose registers; processor circuitry for executing one or more instructions, the one or more instructions comprising a vector dot product instruction for simultaneously performing at least two dot products, the vector dot product instruction identifying a first source register from the plurality of general purpose registers, and a second source register from the plurality of general purpose registers, each of the first source register and the second source register for storing a plurality of vector elements, wherein a first dot product of the at least two dot products is to be performed between a first subset of vector elements of the first source register and a first subset of vector elements of the second source register, and a second dot product of the at least two dot products is to be performed between a second subset of vector elements of the first source register and a second subset of vector elements of the second source register, wherein the first and second subsets of the second source register are different and wherein at least two vector elements of the first and second subsets of the second source register overlap. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. 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 vector dot product instruction for simultaneously performing at least two dot products, the vector dot product instruction identifying a first source register from the plurality of general purpose registers, and a second source register from the plurality of general purpose registers, each of the first source register and the second source register for storing a plurality of vector elements, wherein a first dot product of the at least two dot products is to be performed between a first subset of five vector elements of the first source register and a first subset of five vector elements of the second source register, and a second dot product of the at least two dot products is to be performed between a second subset of five vector elements of the first source register and a second subset of five vector elements of the second source register, wherein four vector elements of the first and second subsets of the second source register overlap. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A method for performing simultaneous dot product operations, 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 vector dot product instruction for simultaneously performing at least two dot products, the vector dot product instruction identifying a first source register from the plurality of general purpose registers, and a second source register from the plurality of general purpose registers, each of the first source register and the second source register for storing a plurality of vector elements, wherein a first dot product of the at least two dot products is to be performed between a first subset of vector elements of the first source register and a first subset of vector elements of the second source register, and a second dot product of the at least two dot products is to be performed between a second subset of vector elements of the first source register and a second subset of vector elements of the second source register, wherein the first and second subsets of the second source register are different and wherein at least two vector elements of the first and second subsets of the second source register overlap. - View Dependent Claims (17, 18, 19, 20)
-
Specification