The documentation for vzeroall
appears inconsistent. The prose says:
The instruction zeros contents of all XMM or YMM registers.
The pseudocode below that, however, indicates that in 64-bit mode only registers ymm0
through ymm15
are affected:
IF (64-bit mode)
limit ←15
ELSE
limit ← 7
FOR i in 0 .. limit:
simd_reg_file[i][MAXVL-1:0] ← 0
On AVX-512 supporting machines clearing up to ymm15
is not the same as clearing "all" because ymm16
through ymm31
exist.
Is the prose or pseudocode correct?
It seems like it was a description issue, if you will look at the latest SDM you will see that description was changed lately and now it says that VZEROALL does not changing YMM16...YMM31.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.