Read and write masks update instruction for vectorization of recursive computations over independent data
AssigneeIntel Corporation
InventorsMikhail Plotnikov, Andrey Naraikin, Christopher J. Hughes
Life of this patent
Estimating the term…
Abstract
A processor executes a mask update instruction to perform updates to a first mask register and a second mask register. A register file within the processor includes the first mask register and the second mask register. The processor includes execution circuitry to execute the mask update instruction. In response to the mask update instruction, the execution circuitry is to invert a given number of mask bits in the first mask register, and also to invert the given number of mask bits in the second mask register.
Claims20
An apparatus comprising:
- a register file including first and second mask registers and first and second vector registers;
- and
- execution circuitry coupled to the register file to execute a mask update instruction, wherein in response to the mask update instruction, the execution circuitry is to invert a given number of mask bits in the first mask register from a first bit value indicating valid data to a second bit value indicating an available slot, and to invert the given number of mask bits in the second mask register from the second bit value to the first bit value;
- and
- the execution circuitry further to move the given number of elements from the first vector register to the second vector register at the same relative positions as the inverted bits in the second mask register.
A method performed by a processor having a register file having first and second mask registers and first and second vector registers, the method comprising:
- receiving by a processor a mask update instruction specifying a first mask register and a second mask register;
- and
- responding, using execution circuitry, to the mask update instruction by inverting a given number of mask bits in the first mask register from a first bit value indicating valid data to a second bit value indicating an available slot, and inverting the given number of mask bits in the second mask register from the second bit value to the first bit value;
- and
- the execution circuitry further to move the given number of elements from the first vector register to the second vector register at the same relative positions as the inverted bits in the second mask register.
A system comprising:
- memory to store an input data array;
- a register file including first and second mask registers and first and second vector registers;
- and
- execution circuitry coupled to the register file to execute a mask update instruction, wherein in response to the mask update instruction, the execution circuitry is to invert a given number of mask bits in the first mask register from a first bit value indicating valid data to a second bit value indicating an available slot, and to invert the given number of mask bits in the second mask register;
- from the second bit value to the first bit value;
- and
- the execution circuitry further to move the given number of elements from the first vector register to the second vector register at the same relative positions as the inverted bits in the second mask register.
Dependencies are inferred from the claim text.