压缩 32 位浮点的 x64 逻辑与

x64 logical AND of packed 32 bit floating points

这是描述:

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.

操作码: 首先说 xmm1描述: 首先说 xmm2/m128。那是哪一个?

不确定有什么不清楚的。你引用的描述适用于3操作数形式,你需要考虑这段用于2操作数版本:

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.

因此,指令执行:xmm1 = xmm1 & xmm2/m128。 由于按位 AND 是可交换的,因此与 xmm1 = xmm2/m128 & xmm1 相同。重要的是 xmm1 是目的地。