Существует целый блог, названный в честь этой инструкции. И первое сообщение описывает причину этого: http://repzret.org/p/repzret/
В принципе, в предсказании ветви AMD произошла ошибка, когда один -byte ret
сразу же следует за условным прыжком, как в коде, который вы цитировали (и в нескольких других ситуациях), и обходным путем было добавить префикс rep
, который игнорируется CPU, но фиксирует штраф предиктора.