英特尔的 SIMD 指令会影响奇偶校验标志吗?

Do Intel's SIMD instructions affect the parity flag?

我正在阅读Intel's software developers manual

奇偶校验标志是这样说的:

Set if the least-signif icant byte of the result contains an even number of 1 bits; cleared otherwise.

我想知道 SIMD(特别是 SSE)指令是否影响奇偶校验标志。例如,如果我使用 PEXTRB 指令,是否会设置奇偶校验标志?

PEXTRB 的条目说

Flags Affected
None.

所以没有。

通常只有主 ALU 组(and/or/add 等,该集合)和 shift/rotate 将奇偶校验设置为任何奇偶校验(有还有一些)。移动通常不会影响标志。 SSE 指令通常不会影响标志,但有一些明显的例外。 COMISS 和朋友影响奇偶校验,但方式完全不同。

如果你想要一个 pextrbed 字节的奇偶校验,你可以 test 它。

根据可以从 intertubes 轻松下载的 "Intel 64 and IA-32 Architectures Software Developer’s Manual vol 2":

Flags Affected
None.