2016-06-10 20 views

Antwort

5

Welche Teile von xmm0 möchten Sie?

movd  eax, xmm0 
pextrd edx, xmm0, 1 ; SSE4.1 

bekommt die niedrigen 64bits von xmm0 in edx:eax.

In 64-Bit-Code ist movq rax, xmm0/shld rdx, rax, 32 möglicherweise besser als pextrd, und SSE4.1 ist nicht erforderlich.

Siehe das Tag Wiki für Befehlssatzreferenzen und andere Sachen.

Weitere Informationen zu den zu verwendenden Anweisungen finden Sie unter Agner Fog's excellent Optimizing Assembly guide.

+0

Suche nach den Bits von 64-Bit-Doppel in xmm0 auf x86 (32bit). – tgiphil

+0

@tgiphil: ok, die niedrige 64 ist was ich vermutete. Gibt es einen Grund, warum du diese Antwort nicht akzeptiert hast? Benötigen Sie eine 32bit SSE2-Version mit einer Vektorverschiebung oder Shuffle, um das zweite Wort für ein anderes 'movd' auf Element 0 zu bringen? –

Verwandte Themen