SSE (SIMD): Multiplikation Vektor mit skalaren

Einen gemeinsamen Betrieb, die ich tun in meinem Programm ist die Skalierung der Vektoren durch Skalare (V*s, z.B. [1,2,3,4]*2 == [2,4,6,8]). Gibt es eine SSE (oder AVX) die Anweisung, etwas zu tun, als der erste laden der Skalar in jeder position in einen Vektor (z.B. _mm_set_ps(2,2,2,2)) und dann multiplizieren?

Dies ist, was ich jetzt mache:

__m128 _scalar = _mm_set_ps(s,s,s,s);
__m128 _result = _mm_mul_ps(_vector, _scalar);

Ich bin auf der Suche nach so etwas wie...

__m128 _result = _mm_scale_ps(_vector, s);
InformationsquelleAutor Hallgeir | 2012-01-31
Schreibe einen Kommentar