Method and structure for pipelining of SIMD conditional moves
AssigneeSun Microsystems, Inc.
InventorsPaul Caprioli, Lawrence A. Spracklen, Sherman H. Yip
Life of this patent
Estimating the term…
Abstract
A mask is first generated in a general-purpose integer register. The mask is generated by executing a single instruction multiple data (SIMD) instruction on a plurality of operands stored in a plurality of registers and by writing the result to the general-purpose integer register. Next, a conditional-move mask is generated in a register using the mask, and then the conditional-move mask is used in selecting operands from the plurality of operands to generate a result in another register.
Claims14
A computer-based method comprising:
- generating a mask wherein said generating said mask includes:
- executing a single instruction multiple data instruction on a plurality of operands stored in a first plurality of registers on a processor to generate said mask;
- and
- storing said mask in an available register wherein said available register is one of a second plurality of registers on said processor;
- generating a conditional-move mask in another register on said processor using said mask;
- and
- using said conditional-move mask in selecting operands from said plurality of operands to generate a result in yet another register on said processor.
A computer program product comprising a computer readable storage medium having embedded therein computer readable instructions for a method comprising:
- generating a mask wherein said generating said mask includes:
- executing a single instruction multiple data instruction on a plurality of operands stored in a first plurality of registers on a processor to generate said mask;
- and
- storing said mask in an available register wherein said available register is one of a second plurality of registers on said processor;
- generating a conditional-move mask in another register on said processor using said mask;
- and
- using said conditional-move mask in selecting operands from said plurality of operands to generate a result in yet another register on said processor.
A system comprising:
- a processor;
- and
- a memory, coupled to said processor, storing instructions for a method comprising:
- generating a mask wherein said generating said mask includes:
- executing a single instruction multiple data instruction on a plurality of operands stored in a first plurality of registers on a processor to generate said mask;
- and
- storing said mask in an available register wherein said available register is one of a second plurality of registers on said processor;
- generating a conditional-move mask in another register on said processor using said mask;
- and
- using said conditional-move mask in selecting operands from said plurality of operands to generate a result in yet another register on said processor.
Dependencies are inferred from the claim text.