Una operación común que hago en mi programa es escalar los vectores por un escalar (V * s, por ejemplo [1,2,3,4] * 2 == [2,4, 6,8]). ¿Hay alguna instrucción SSE (o AVX) para hacer esto, aparte de cargar primero el escalar en cada posición en un vector (por ejemplo _mm_set_ps (2,2,2,2)) y luego multiplicar?SSE (SIMD): multiplicar el vector por escalar
Esto es lo que hago ahora:
__m128 _scalar = _mm_set_ps(s,s,s,s);
__m128 _result = _mm_mul_ps(_vector, _scalar);
Busco algo así como ...
__m128 _result = _mm_scale_ps(_vector, s);