Каковы ограничения на выравнивание новых инструкций Haswell AVX "сборка"? - PullRequest
4 голосов
/ 01 июля 2011

Я смотрю на справочник по программированию AVX . новые инструкции Haswell включают некоторые ожидаемые загрузки.Однако я не могу понять, каковы ограничения выравнивания для индексированных элементов данных.Раздел 2.5 «Выравнивание памяти» справочника, похоже, должен перечислить различные VGATHER* инструкции в одной из таблиц 2.4 или 2.5 ... но это не так.

Справочная информация: пока поддерживаются инструкции по сборуРазмеры данных составляют 4 и 8 байтов, мое приложение может выиграть от загрузки-загрузки смежных пар 16-битных значений данных в DWORDS.Нечетные индексы с 2-байтовой шкалой будут приводить к 2-байтовым выравниваемым 4-байтовым нагрузкам, и из руководства не ясно, будет ли это работать с ошибкой или иным образом не работать должным образом (скорее всего, мне не повезло, учитывая всекажется, что в инструкциях, поддерживающих доступ без выравнивания, есть буква "U").

1 Ответ

5 голосов
/ 01 июля 2011

Впервые слышу об AVX2.Но я предполагаю, что ограничение выравнивания памяти не будет отличаться от текущей реализации AVX на Sandy Bridge с новой схемой кодирования VEX.Т.е. выравнивание не требуется, если явно не используется выровненная инструкция VMOV с A в имени.Большинство инструкций разрешают доступ с любым выравниванием байтовой гранулярности.

Фактически, см. Раздел 2.5, стр. 35 Справочник по программированию расширенных векторных расширений Intel (R) , где говорится именно это.

...