Должны ли данные быть выровнены по 16 байт, чтобы он мог обрабатываться инструкцией SSE без ошибки сегментации? Компилятор, который я пробовал, - gcc с опцией -msse2
. Я хочу использовать _mm_cmpgt_epi32
для сравнения большого массива int. Я обнаружил, что он не может быть выполнен в любом месте массива, кроме позиции с индексом кратных 4.Инструкции SSE нужны для выравнивания данных
1
A
ответ
6
Да, когда вы загружаете и сохраняете данные в/из регистров SSE, оно должно быть выровнено по 16 байт, , если вы не используете, вы используете неверные версии инструкций загрузки/хранения, например _mm_loadu_si128
/_mm_storeu_si128
. Как правило, для использования этих несогласованных инструкций по загрузке/хранению обычно снижается производительность, поэтому обычно можно попытаться обеспечить правильное выравнивание данных в любое время и использовать только несогласованные нагрузки/магазины в качестве последнего средства.
Смежные вопросы
- 1. Бенчмаркинг Инструкции SSE
- 2. Зачем нужны инструкции для филиала?
- 3. SSE Инструкции: Byte + Short
- 4. нахождение инструкции neon, соответствующей инструкции sse
- 5. Нужны инструкции для игры Reversi
- 6. Ускорение выравнивания SSE G ++ в стеке
- 7. Где инструкции SSE превосходят обычные инструкции
- 8. Как использовать логические инструкции SSE
- 9. сочетающие OpenMP и SSE инструкции
- 10. Инструкции SSE в функции ASM
- 11. равны нулю инструкции в SSE
- 12. требования выравнивания при сохранении результата операций SSE
- 13. Как определить размер инструкции предварительной выборки SSE?
- 14. Инструкции SSE, игнорирующие теоретическую пропускную способность ОЗУ
- 15. типов данных x64 SSE
- 16. Проверьте, использует ли DLL инструкции SSE
- 17. SSE Инструкции: Найти элементы выше порога
- 18. Что означает UnsignedSaturate в инструкции SSE?
- 19. GCC генерирует SSE инструкции вместо AVX
- 20. C++ использует инструкции SSE для сравнения огромных векторов ints
- 21. Имеются ли инструкции x86-SSE для автоматического выпуска?
- 22. Мне нужны карты изображений для выравнивания, как pinterest
- 23. Смущает насчет выравнивания данных
- 24. Почему и где выравнивание 16 используется для выравнивания SSE для получения инструкций?
- 25. Как выровнять массив структур, каждая требует выравнивания (SSE)
- 26. Получение данных для выравнивания C++
- 27. Выравнивание шаблона векторной структуры для SSE
- 28. Изучение языка ассемблера x86. Нужны некоторые инструкции
- 29. .htaccess и PHP - нужны инструкции с включением
- 30. Почему инструкции SSE сохраняют верхние 128-битные регистры YMM?