CPC G06F 9/30036 (2013.01) [G06F 7/485 (2013.01); G06F 7/4876 (2013.01); G06F 7/762 (2013.01); G06F 9/3001 (2013.01); G06F 9/30032 (2013.01); G06F 9/30038 (2023.08); G06F 9/30043 (2013.01); G06F 9/30109 (2013.01); G06F 9/30112 (2013.01); G06F 9/30134 (2013.01); G06F 9/30145 (2013.01); G06F 9/30149 (2013.01); G06F 9/3016 (2013.01); G06F 9/30185 (2013.01); G06F 9/30196 (2013.01); G06F 9/3818 (2013.01); G06F 9/3836 (2013.01); G06F 17/16 (2013.01); G06F 2212/454 (2013.01)] | 18 Claims |
1. A processor comprising:
decode circuitry to decode an instruction having fields for an opcode, a first source matrix operand identifier, a second source matrix operand identifier, and a destination matrix operand identifier, wherein each of the first source matrix operand, the second source matrix operand, and the destination matrix operand corresponds to a two-dimensional matrix of values; and
execution circuitry to execute the decoded instruction to, for each data element position of the identified first source matrix operand:
multiply a first data value at that data element position by a second data value at a corresponding data element position of the identified second source matrix operand, and
store a result of the multiplication into a corresponding data element position of the identified destination matrix operand;
wherein a fault is generated when the first source matrix operand has a different number of data elements than the second source matrix operand.
|