vzeroall 是否将 ymm16 归零到 ymm31?
Does vzeroall zero registers ymm16 to ymm31?
vzeroall
的 documentation 看起来不一致。散文说:
The instruction zeros contents of all XMM or YMM registers.
然而,下面的伪代码表明在 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
在支持 AVX-512 的机器上,清除 ymm15
与清除 "all" 不同,因为存在 ymm16
到 ymm31
。
散文或伪代码是否正确?
这似乎是一个描述问题,如果您查看 latest SDM,您会发现最近更改了描述,现在它说 VZEROALL 不会更改 YMM16...YMM31。
vzeroall
的 documentation 看起来不一致。散文说:
The instruction zeros contents of all XMM or YMM registers.
然而,下面的伪代码表明在 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
在支持 AVX-512 的机器上,清除 ymm15
与清除 "all" 不同,因为存在 ymm16
到 ymm31
。
散文或伪代码是否正确?
这似乎是一个描述问题,如果您查看 latest SDM,您会发现最近更改了描述,现在它说 VZEROALL 不会更改 YMM16...YMM31。