Original Post
As far as I can tell, there are no instructions in the various SSE versions to do a bit shift by a non-uniform amount. E.g.: o0 = i0 << n0 o1 = i1 << n1 o2 = i2 << n2 o3 = i3 << n3 There are only functions to shift all packed members by a single amount (e.g. n0 = n1 = n2 = n3). Are there any relatively fast ways to emulate this behavior? By "fast" I mean much faster than extracting each packed member and performing the shifting on the main CPU ALU.