Parallel table lookups are implemented using variable Mux instructions to
reorder data. Table data can be represented in a "table" register, while
the desired ordering can be represented in an "Index" register. A direct
variable Mux instruction can specify the table register and the index
register as arguments, along with a result register. The instruction
writes at least some of the data from the table register into the result
register as specified in the index register. If the entire table cannot
fit within a single register, entries can be divided between two or more
table registers. An indirect variable Mux instruction can specify both a
table-register-select register and a subword-location-select register.
Both the direct and indirect Mux instructions can be used with entry data
that is divided in accordance with significance between registers. In
that case, plural Mux instructions are used with UnPack instructions that
concatenate portions of the table entries.