1. A functional unit, comprising: a controller configured to initiate execution of a vector instruction in response to a determination that one or more operands on which the vector instruction depends are available for use; and a holding unit configured to temporarily store results of the vector instruction; wherein in response to receiving a determination that a predicate vector on which the vector instruction depends was not yet available for use upon initiation of the vector instruction, the controller is further configured to: temporarily store results of the vector instruction within the holding unit, such that the results are not made available to one or more operations that depend upon the vector instruction; and in response to receiving a determination that the predicate vector is available for use, update the temporarily stored results of the vector instruction dependent upon the predicate vector, and store the updated results in a destination register that is made available to the one or more operations that depend upon the vector instruction.