Patent ID: 8631224

Claim:
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, and wherein each of the at least two overlapping vector elements of the second source register is used in both the first dot product and the second dot product with different vector elements of the first source register.