The following should be done in x86 assembly (up to SSE4) language. Lets say I have a 128 bit XMM register:
xmm0: [d, c, b, a]
And I want another register which look like this:
xmm1: [-,-, c, d]
For xmm1 the high 64 bits are not important. The ultimate goal is I want to have
[-,-,b+c,a-d]
I can do this then with addsub.
Is there any useful instructions up to SSE4 to do this efficiently? How can I do this at all?
My Idea is some shift operations but couldnt find any useful in the Intel Developer Manual.