I have to work with the 128 bit xmm registers.
I'm confused regarding operations such as
movsd xmm2, xmm3
movupd xmm4, xmm9
movq xmm1, xmm7
movd xmm3, xmm8
subsd xmm0, xmm4
divsd xmm9, xmm3
....
When looking at the documentation for these operations the only two xmm registers used are xmm0 and xmm1. Why is it not possible to do e.g. movsd xmm1, xmm4? And how can this operation be implemented?
I looked up the different definitions for the move operations but didn't fully understand when to use which - what their differences are.. So an explanation would be very welcome.