1. A method of processing data in a programmable processor, the method comprising: decoding a single instruction for selectively arranging data, specifying a data selection operand and a first and a second register each having a register width, the first and second registers providing a plurality of data elements each having an elemental width smaller than the register width, the data selection operand comprising a plurality of fields each selecting one of the plurality of data elements; and for each field of the data selection operand, providing the data element selected by the field to a predetermined position in a catenated result.