1. A method for storing data in a target register, comprising: receiving a permute instruction specifying at least one source register, the target register, and a write mask, wherein the write mask identifies one or more locations of the target register for writing data; and in response to receiving the permute instruction, transferring data from at least one location of the at least one source register to the one or more locations of the target register identified by the write mask.