¿Cómo realizar el desplazamiento a la izquierda del elemento con __m128i?

Las instrucciones de cambio de SSE que he encontrado solo pueden cambiar en la misma cantidad en todos los elementos:

_mm_sll_epi32()_mm_slli_epi32()

Estos desplazan todos los elementos, pero por la misma cantidad de desplazamiento.

¿Hay alguna manera de aplicar diferentes turnos a los diferentes elementos? Algo como esto:

__m128i a,  __m128i b;  

r0:=    a0  <<  b0;
r1:=    a1  <<  b1;
r2:=    a2  <<  b2;
r3:=    a3  <<  b3;

Respuestas a la pregunta(3)

Su respuesta a la pregunta