> В общем же случае пофик - что add+addc, что addq выполнятся мгновенно по сравнению с обращениями к памяти. Распараллеливание инструкицй тоже никто не отменял, так что в итоге прироста там - от силы несколько процентов.adc ждет результата add и следовательно распараллеливание идет лесом.
Так же пара add+adc может застопорить конвеер. Спасти может только смешивание этих инструкций с другим кодом, что не всегда возможно.
Время обращения к памяти -- это проблема... Но не в данном случае.
Скорость чтения/записи одного 64битного числа в регистр больше, чем чтение 32бит в регистр (одновременная загрузка в кэш) и после выполнения add чтение из кэша следующих 32бит.
>> не надо лишний раз бесполезно сохранять\восстанавливать дурные х86 регистры
>Да что ты? А `не дурные' 64битные регистры не надо значит сохранять/восстанавливать?
Речь не про ширину регистров, а про их количество.