Characterizing the impact of predicated execution on branch prediction | Synapse