1. A method comprising: receiving an instruction having an opcode associated with a first predicate condition and a second predicate condition; executing the instruction to generate a result; determining whether the first predicate condition is true; if the first predicate condition is true, then storing the result of the instruction in a first output register, or if the first predicate condition is false, then storing the result of the instruction in a second output register; and determining whether the second predicate condition is true; and if the second predicate condition is true, then applying a first input argument to the opcode, or if the second predicate condition is false, then applying a second input argument to the opcode.