Регистрирует ли vzeroall ноль от ymm16 до ymm31? - PullRequest
8 голосов
/ 24 января 2020

Документация для vzeroall выглядит несовместимой. Проза гласит:

Инструкция обнуляет содержимое всех регистров XMM или YMM.

Псевдокод ниже, однако, указывает, что в 64-битном режиме только регистры * От 1010 * до 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 - это не то же самое, что очистка «всего», поскольку существуют ymm16 - ymm31.

Проза или псевдокод верны?

1 Ответ

6 голосов
/ 27 января 2020

Кажется, что это была проблема описания, если вы посмотрите на последний SDM , вы увидите, что описание было изменено в последнее время, и теперь он говорит, что VZEROALL не меняет YMM16 ... YMM31.

Intel latest SDM (Oct 2019)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...