> Кондишнлы внезапно - это не только переходы. Даже банальный сдвиг на бит
> с использованием флага переноса является кондишнлом. У ARM с этим полный порядок например. У них очень круто сделано, в каком нибудь thumb2 возможны целые условные блоки с очень компактным кодированием условий на весь блок. В 32-бит условным может быть почти все угодно уже покомандово - это часть instruction set.
> Не говоря уже о специализированных инструкциях типа CMOVxx в x86. При работе того
> же сдвига и наличии далее зависимой от него команды - возникают две ветки исполнения.
И как показал пример, утупки из интеля не умеют в undo side effects, так что безопасность лихо улетает во времена Win95. И фича резко превращается в баг.
> RISC придётся стоять и ждать флага.
Продвинутые hi-performance рисковые ядра тоже умеют спекулятивщину.
> Нет у RISC спекулятивного выполнения.
Зависит от реализации. Хотят ядро попроще и поменьше - нет. Хотят пожирнее и пошустрее - есть. "Ух ты, а что, так можно было?"
> На то он и RISC. И предсказатели переходов сложные не могут возникнуть - неоткуда.
А вот это уже на усмотрение implementer'а что он там сделает.
> Это прерогатива CISCoRISC, которые могут разложить инструкции на конвеер,
Вы уже утомили с своим vaporware. Вот вся отрасль тупая, один вы умный. Очень убедительно. Ну тогда обставьте этих лохов, не? Если вам верить это как 2 байта переслать.
> Повторюсь. Кондишнлы - это не только переходы. Нет, в RISC - в
> основном, и это как раз та причина, по которой они не взлетают в реальных условиях.
Они уже мир захватили. Мобильных девайсов выпускается больше чем ваших x86 вместе взятых.