Patent ID: 7536532
Filing Date: 2009-05-19
Classification: G06F

Abstract:
1. A method for performing a high speed Merge AND operation of two or more data arrays comprising: loading a plurality of data from a first input stream into a first hardware vector register; loading a plurality of data from a second input stream into a second hardware vector register; invoking a single instruction multiple data (SIMD) permute instruction for gathering at least one data item from each input stream and duplicating the gathered data items in a certain order to generate first and second summary data streams, wherein said first summary stream is associated with data from said first input stream and said second summary stream is associated with data from said second input stream; invoking a vector compare SIMD instruction to compare said first summary stream with said second summary stream; and based upon the vector compare SIMD instruction, comparing a pair of values from the first and second input streams and placing an input value into a single output stream when there is at least one matching pair in a result of said vector compare SIMD instruction.