Powszechną operacją, którą wykonuję w moim programie jest skalowanie wektorów przez skalar (V * s, np. [1,2,3,4] * 2 == [2,4, 6,8]). Czy istnieje instrukcja SSE (lub AVX), aby to zrobić, poza pierwszym ładowaniem skalara w każdej pozycji w wektorze (np. _mm_set_ps (2,2,2,2)), a następnie pomnożenie?SSE (SIMD): pomnóż wektor przez skalarną
To co mam teraz zrobić:
__m128 _scalar = _mm_set_ps(s,s,s,s);
__m128 _result = _mm_mul_ps(_vector, _scalar);
szukam czegoś jak ...
__m128 _result = _mm_scale_ps(_vector, s);