Patent ID: 7725678

Claim:
A method for building and using a permutation index vector comprising a plurality of indices, comprising: in response to a first instruction, the steps of: receiving a condition vector into a condition vector register; and performing an index generation function using the condition vector in order to generate the permutation index vector by successively evaluating each different condition value in the condition vector one at a time to determine if each respective different condition value is set to a predetermined state and storing an index value to a consecutive one of the plurality of indices of the permutation index vector in response to a determination that a respective condition value in the condition vector is set to the predetermined state; and in response to a second instruction, using the plurality of indices of the permutation index vector to form a resultant vector into a resultant vector register, wherein each index value of the plurality of indices at a location in the permutation index vector identifies a location in one or more input vectors from which a data value is taken and located in a corresponding location in the resultant vector.