Безопасно ли/целесообразно ли применять float непосредственно к __m128
, если они выровнены по 16 байт?
Я заметил, что с помощью _mm_load_ps
и _mm_store_ps
для "обертки" необработанный массив добавляет значительные накладные расходы.
Каковы потенциальные ошибки, о которых я должен знать?
EDIT:
На самом деле нет накладных расходов при использовании инструкций по загрузке и хранению, я немного смешал некоторые цифры, и поэтому я получил лучшую производительность. Даже я смог сделать некоторые HORRENDOUS mangling с необработанными адресами памяти в экземпляре __m128
, когда я запустил тест, ему потребовалось сделать TWICE AS LONG без инструкции _mm_load_ps
, возможно, вернувшись к некоторому пути с безопасным кодом.