Patent ID: 7962718

Claim:
In a data processing system having a plurality of general purpose registers, a method for performing an extended table lookup comprising: performing a plurality of partial table lookups corresponding to an extended table to produce a plurality of intermediate results, each of the partial table lookups being performed in response to a vector instruction, wherein: the vector instruction identifies: a first source register from the plurality of general purpose registers; at least one other source register from the plurality of general purpose registers; and a destination register from the plurality of general purpose registers; the first source register stores a plurality of index values including at least one in-range index value for the at least one other source register and at least one out-of-range index value for the at least one other source register; the at least one other source register stores a plurality of table values corresponding to only a portion of the extended table; the destination register stores an intermediate result; each in-range index value of the plurality of index values stored in the first source register corresponds to a particular vector element location of the at least one other source register and results in the table value stored at the particular vector element location of the at least one other source register being stored into a first corresponding vector element of the destination register; each out-of-range index value of the plurality of index values stored in the first source register does not correspond to any vector element location of the at least one other source register and is in one of at least two out-of-range index value ranges that is used to indicate which one of at least two predetermined constant values is to be stored into a second corresponding vector element of the destination register; and performing the plurality of partial table lookups comprises adjusting the plurality of index values between performing partial table lookups by subtracting from each of the plurality of index values a predetermined value corresponding to a number of vector element locations of the at least one other source register; forming a final result by performing a logic function with the plurality of intermediate results; and storing the final result in the data processing system.