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?