Patent ID: 8356160

Claim:
A method comprising: in response to receiving a multiple operand instruction, transferring more than two operands comprising at least a first operand, a second operand, and a third operand from a register file to a swizzle crossbar; transferring the more than two operands from the swizzle crossbar to one or more processing lanes of a vector unit according to an order determined by the swizzle crossbar, wherein each of the one or more processing lanes of the vector unit is configured to perform arithmetic operations including at least one of floating point calculations and fixed point calculations; comparing the first operand to the second operand in a first processing lane among the one or more processing lanes of the vector unit, wherein the first operand is passed to a multiplier of the first processing lane, and wherein the second operand is passed to an adder of the first processing lane; based on the comparison, transferring one of the first operand and the second operand from the first processing lane to a dot product unit, wherein the dot product unit is configured to perform all operations associated with computing a dot product of two vectors; passing the third operand through the vector unit to the dot product unit, wherein the third operand is passed to a multiplier of a second processing lane among the one or more processing lanes of the vector unit; and comparing one of the first operand and the second operand to the third operand in the dot product unit.