vzeroall 零寄存器 ymm16 到 ymm31 吗?

Bee*_*ope 10 x86 assembly intel avx avx512

文件vzeroall出现不一致。散文说:

该指令将所有 XMM 或 YMM 寄存器的内容清零。

然而,下面的伪代码表明,在 64 位模式下,只有ymm0通过ymm15的寄存器会受到影响:

IF (64-bit mode)
    limit ?15
ELSE
    limit ? 7
FOR i in 0 .. limit:
    simd_reg_file[i][MAXVL-1:0] ? 0
Run Code Online (Sandbox Code Playgroud)

在AVX-512支持的机器清理到ymm15是不一样的清算“所有”,因为ymm16通过ymm31存在。

散文或伪代码是否正确?

Mat*_*roh 8

这似乎是一个描述问题,如果您查看最新的 SDM,您会看到该描述最近已更改,现在它说 VZEROALL 不会更改 YMM16...YMM31。

英特尔最新 SDM(2019 年 10 月)