Vector element rotate and insert under mask instruction
AssigneeInternational Business Machines Corporation
InventorsJonathan D. Bradbury, Robert F. Enenkel, Eric M. Schwarz, Timothy J. Slegel
Life of this patent
Estimating the term…
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.
Claims20
A computer program product for executing a machine instruction in a central processing unit, the computer program product comprising:
- a computer readable storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a 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 one or more elements of the second operand in a selected direction by a specified amount to rotate;
- 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.
A computer system for executing a machine instruction in a central processing unit, the computer system comprising:
- a memory;
- and
- a processor in communications with the memory, wherein the computer system is configured to perform a method, said 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 one or more elements of the second operand in a selected direction by a specified amount to rotate;
- 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.
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 one or more elements of the second operand in a selected direction by a specified amount to rotate;
- 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.
Dependencies are inferred from the claim text.