1. A computer implemented method for shuffling packed data elements comprising: decoding a single instruction specifying a single field of per-lane control bits, and indicating a source operand and a destination operand, said source and destination operands having corresponding pluralities of multi-bit lanes, each multi-bit lane being divided into corresponding pluralities of portions, each of said corresponding portions including a same plurality of data elements; responsive to decoding the single instruction and the single field of per-lane control bits, selecting a set of data elements from any data elements in corresponding portions of every multi-bit lane of the source operand using the single field of the per-lane control bits for each of the multi-bit lanes; and copying the selected sets of data elements to the corresponding portions of every multi-bit lane of the destination operand.