Vector element rotate and insert under mask instruction
First Claim
Patent Images
1. A method of executing a machine instruction in a central processing unit, the method comprising:
- obtaining, by a processor, a machine instruction for execution, the machine instruction being defined for computer execution according to a computer architecture, the machine instruction comprising;
at least one opcode field to provide an opcode, the opcode identifying a Vector Element Rotate And Insert Under Mask operation;
a first register field to be used to designate a first register, the first register comprising a first operand;
a second register field to be used to designate a second register, the second register comprising a second operand;
a third register field to be used to designate a third register, the third register comprising a third operand; and
executing the machine instruction, the executing comprising;
rotating a plurality of elements of the second operand in a selected direction by a specified amount to rotate, wherein for each element of the plurality of elements, rotating an element of the plurality of elements comprises rotating one or more individual bits comprising the element, wherein each element of the plurality of elements is rotated independently from each other element of the plurality of elements, wherein the specified amount to rotate is included in a fourth operand of the machine instruction, the fourth operand comprising an unsigned binary integer specifying a number of bits to rotate each element of the second operand, and wherein the method further comprises;
determining whether the unsigned binary integer is greater than a number of bits of an element of a selected operand; and
based on the unsigned binary integer being greater than the number of bits of the element of the selected operand, reducing modulo the unsigned binary integer by the number of bits of the element of the selected operand;
checking the third operand for one or more data units having a particular value; and
based on the third operand having the one or more data units with the particular value, replacing one or more values of corresponding data units in the first operand with one or more values of corresponding data units in the second operand that has been rotated.
1 Assignment
0 Petitions
Accused Products
Abstract
A Vector Element Rotate and Insert Under Mask instruction. Each element of a second operand of the instruction is rotated in a specified direction by a specified number of bits. For each bit in a third operand of the instruction that is set to one, the corresponding bit of the rotated elements in the second operand replaces the corresponding bit in a first operand of the instruction.
-
Citations
10 Claims
-
1. A method of executing a machine instruction in a central processing unit, the method comprising:
-
obtaining, by a processor, a machine instruction for execution, the machine instruction being defined for computer execution according to a computer architecture, the machine instruction comprising; at least one opcode field to provide an opcode, the opcode identifying a Vector Element Rotate And Insert Under Mask operation; a first register field to be used to designate a first register, the first register comprising a first operand; a second register field to be used to designate a second register, the second register comprising a second operand; a third register field to be used to designate a third register, the third register comprising a third operand; and executing the machine instruction, the executing comprising; rotating a plurality of elements of the second operand in a selected direction by a specified amount to rotate, wherein for each element of the plurality of elements, rotating an element of the plurality of elements comprises rotating one or more individual bits comprising the element, wherein each element of the plurality of elements is rotated independently from each other element of the plurality of elements, wherein the specified amount to rotate is included in a fourth operand of the machine instruction, the fourth operand comprising an unsigned binary integer specifying a number of bits to rotate each element of the second operand, and wherein the method further comprises; determining whether the unsigned binary integer is greater than a number of bits of an element of a selected operand; and based on the unsigned binary integer being greater than the number of bits of the element of the selected operand, reducing modulo the unsigned binary integer by the number of bits of the element of the selected operand; checking the third operand for one or more data units having a particular value; and based on the third operand having the one or more data units with the particular value, replacing one or more values of corresponding data units in the first operand with one or more values of corresponding data units in the second operand that has been rotated. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
Specification