allasm.ru |
|
Вы можете разбить инструкции чтения/модифицирования и инструкции чтения/модифицирования/записи, чтобы улучшить спаривание. Пример:
Этот код можно разбить на следующую последовательность, которая будет занимать только 3 такта:
Таким же образом вы можете разбивать не спариваемые инструкции на спариваемые:
Разбивается на:
Другие примеры неспариваемых инструкций, которые можно разбить на простые спариваемые:
Если разбиваение иснтрукций не повышает скорось, вы можете оставить сложные или неспариваемые конструкции, чтобы уменьшить размер кода. Разбивание инструкций не требуется, кроме тех случаев, когда это будет генерировать меньше уопов (uops). |