Можно ли приводить числа с плавающей точкой непосредственно к __m128, если они выровнены по 16 байтов?
Безопасно / возможно / целесообразно ли бросать поплавки непосредственно в__m128
если они выровнены по 16 байтам?
Я заметил использование_mm_load_ps
а также_mm_store_ps
«обернуть» необработанный массив добавляет значительные накладные расходы.
Какие потенциальные подводные камни я должен знать?
EDIT :
На самом деле нет никаких накладных расходов при использовании инструкций загрузки и хранения, я смешал некоторые цифры, и поэтому я получил лучшую производительность. Даже я смог сделать УЖАСНОЕ журчание с необработанными адресами памяти в__m128
Например, когда я запустил тест, потребовалось ДВАЖДЫ КАК ДОЛГО, чтобы завершить без_mm_load_ps
инструкция, вероятно, возвращаясь к некоторому отказоустойчивому пути кода.