견적에 따르면 관련 비트는 하위 4 비트 인 [3:0]
입니다. 해당 단어 SSE 레지스터에 4 단어 (부동 소수점)가 있으므로 4 개의 제어 비트가 있으며 상위 4 비트는 무시됩니다. operation
섹션에는 erm 연산자를 명확하게 설명하는 의사 코드가 있습니다.
BLENDPS (128-bit Legacy SSE version)
IF (IMM8[0] = 0) THEN DEST[31:0] <- DEST[31:0]
ELSE DEST [31:0] <- SRC[31:0] FI
IF (IMM8[1] = 0) THEN DEST[63:32] <- DEST[63:32]
ELSE DEST [63:32] <- SRC[63:32] FI
IF (IMM8[2] = 0) THEN DEST[95:64] <- DEST[95:64]
ELSE DEST [95:64] <- SRC[95:64] FI
IF (IMM8[3] = 0) THEN DEST[127:96] <- DEST[127:96]
ELSE DEST [127:96] <- SRC[127:96] FI
글쎄, 이것은 단 정밀도 BLENDPS
입니다. 이중 정밀도는 4 비트로 언급되므로 BLENDPD
을 의미해야합니다. SSE 레지스터를 사용하면 128 비트에 2 개의 2 배를 넣을 수 있기 때문에 2 비트 만 사용합니다. 실제로 AVX 버전은 4 비트를 사용합니다. 논리는 위와 같습니다.