1. A method for performing a vote operation for a group of threads executing in parallel within a processor core, the method comprising: receiving a vote instruction that includes an opcode that identifies the vote operation and a first register field that identifies a source register; receiving a ballot of vote data that includes vote data from a plurality of corresponding source registers within a core of a processor, wherein the vote data is generated by each participating thread in the group of threads executing in parallel on different data, each source register is identified by the first register field, and each source register is associated with a different participating thread in the group of threads executing in parallel within the core of the processor; computing a vote result based on the ballot of vote data according to the vote instruction; and returning the vote result to the group of threads.