При отладке я часто входил в рукописную сборку memcpy и memset. Они обычно реализуются с использованием инструкций потоковой передачи, если они доступны, развернуты петли, оптимизированы выравнивание и т.д. Я также недавно столкнулся с этой ошибкой из-за оптимизации memcpy в glibc.
Вопрос: почему производители оборудования (Intel, AMD) не оптимизируют конкретный случай
rep stos
и
rep movs
чтобы быть распознанным как таковой, и выполнять самую быструю заполнение и копирование по возможности на своей собственной архитектуре?