> Для high-end cpu мы никогда не видим их систему команд и нам
> так то похрен. И для компилера это лишь некий интерфейс а
> реально это бэкэнд. И никакие carry флаги нам нахрен не вперлись,
> их проверка требует команды добавлять и код тормозит.Не стоит повторять/пересказывать чужие пояснения, не понимая их сути и/или контекста.
Без carry и overflow флагов вы не сможете эффективно реализовать ни арифметику с широкими числами, ни контроль переполнения.
Конечно можно с дополнительными командами, проверками и ветвлениями - просто медленнее.
Либо можно сказать что это редкие кейсы и нам на них плевать, и для low-end и микроконтроллеров это действительно почти не нужно.
И мешают флаги OoO-выполнению, только если являются общими, т.е. вносят дополнительные "спайки" в зависимости.
Если же флаги персонализировать для каждого регистра (в ISA, либо в микроархитектуре), то никакой код они тормозить не будут (кроме явных зависимостей, например при условных переходах или сложении с переносом).
> Ну и вот у RISCV тоже всякие SIMD расширения появляются.
И что?
Но в бижутерии всегда широкий ассортимент, в том числе бус.
>> ADC есть новая ADX, а в компиляторах всяческие __builtin_add_overflow(), __builtin_addcll()
>> и _addcarry_u64().
> Нюансик в том что это __builtin* напрочь не портабельно, еще хуже интринсиков.
Отсылка к нюансам предполагает знание матчасти, хотя-бы базовой формальной части.
Для понимания, исторически префикс __builtin используется в GCC для встраиваемых псевдо-функций (интринсиков), поддержка которых реализуется внутри компилятора.
А термин intrinsic был введен с подачи штеуда и мелко-мягких, при рекламе компиляторов умеющих в MMX без asm-вставок.
Как правило, интринсики жестко привязаны к конкретной архитектуре.
А builtin-ы является формой реализации интринсиков в GCC и clang, при этом существенная их часть переносима между архитектурами (в особенности те, о которых весь речь).
>> В этом весь RISC-V = много чего недодумано, недопеределано, а тут мы
>> рыбу заворачивали, но хайпово...
> Зато в x86 столько всего напродумано что до сих пор сотни легаси
> таскают, вплоть до 16 битного режима и чудесатых надписей в UEFI-программах
> о том что они в DOS работать не могут. Правда UEFI
> и сам то этот DOS запустить иной раз уже и не
> может для начала, но легаси штука злая.
Так в этом-то и дело, что для RISC-V декларируется что пытались допеределать по-уму.
А получилось недодуманное УГ для low-end, которое всячески пиарят, разукрашивают и впаривают под вывеской "гениальной простоты".