Wie führe ich eine elementweise Linksverschiebung mit __m128i durch?
Die SSE-Verschiebungsanweisungen, die ich gefunden habe, können bei allen Elementen nur um den gleichen Betrag verschoben werden:
_mm_sll_epi32()
_mm_slli_epi32()
Diese verschieben alle Elemente, jedoch um den gleichen Verschiebungsbetrag.
Gibt es eine Möglichkeit, den verschiedenen Elementen unterschiedliche Verschiebungen zuzuweisen? Etwas wie das:
__m128i a, __m128i b;
r0:= a0 << b0;
r1:= a1 << b1;
r2:= a2 << b2;
r3:= a3 << b3;