Общей операцией, которую я выполняю в своей программе, является масштабирование векторов с помощью скаляра (V * s, например [1,2,3,4] * 2 == [2,4,6,8]). Есть ли инструкция SSE (или AVX) для этого, отличная от первой загрузки скаляра в каждой позиции в векторе (например, _mm_set_ps (2,2,2,2)), а затем умножения?
Вот что я делаю сейчас:
__m128 _scalar = _mm_set_ps(s,s,s,s);
__m128 _result = _mm_mul_ps(_vector, _scalar);
Я ищу что-то вроде...
__m128 _result = _mm_scale_ps(_vector, s);