Able to eliminate a branch and therefore the associated branch prediction ? increasing the distance between mispredictions.
The the run length of a code block is increased ? better compiler scheduling.
Predication affects the instruction set, adds a port to the register file, and complicates instruction execution.
Predicated instructions that are discarded still consume processor resources; especially the fetch bandwidth.
Predication is most effective when control dependences can be completely eliminated, such as in an if-then with a small then body.
The use of predicated instructions is limited when the control flow involves more than a simple alternative sequence.