Wish branches, a new class of control-flow instructions, allow the hardware to dynamically decide whether or not to use predicated execution for a dynamic branch instruction. The goal of wish branches is to use predicated execution for hard-to-predict dynamic branches and branch prediction for easy-to-predict dynamic branches, thereby obtaining the best of both worlds. Wish loops, one class of wish branches, utilize predication to reduce the misprediction penalty for hard-to-predict backward (loop) branches.
Hyesoon Kim, Onur Mutlu, Yale N. Patt, Jared Stark