Reputation: 1095
This is the description:
Performs a bitwise logical AND of the four or eight packed single-precision floating-point values from the first source operand and the second source operand, and stores the result in the destination operand.
Opcode:
0F 54 /r ANDPS xmm1, xmm2/m128
Description:
Bitwise logical AND of xmm2/m128 and xmm1.
The Opcode: says xmm1
first and the Description: says xmm2/m128
first. So which is it?
Upvotes: 1
Views: 116
Reputation: 58782
Not sure what's unclear. The description you quoted applies to the 3 operand form, you need to consider this paragraph for the 2 operand version:
128-bit Legacy SSE version: The second source can be an XMM register or an 128-bit memory location. The destination is not distinct from the first source XMM register and the upper bits (VLMAX-1:128) of the corresponding YMM register destination are unmodified.
As such, the instruction does: xmm1 = xmm1 & xmm2/m128
.
Due to the fact that bitwise AND
is commutative, that's the same as xmm1 = xmm2/m128 & xmm1
. The important thing is that xmm1
is the destination.
Upvotes: 4