Соглашение о вызовах AMD64; операнд __m512 в стеке - PullRequest
0 голосов
/ 03 июля 2019

Я пытаюсь понять AMD64 ABI, описанный здесь . Вещь, которую я не понимал, касалась выравнивания стека и больших операндов (__m256, __m512). Вот соответствующая цитата:

Конец области входного аргумента должен быть выровнен по 16 (32 или 64, если __m256 или __m512 передается в стеке) граница байта. Другими словами, значение (%rsp+ 8) всегда кратно 16 (32 или 64) когда управление передается в точку входа в функцию. Стек указатель %rsp всегда указывает на конец последнего выделенного стека рама.

Я интерпретировал часть о __m256 и __m512 как то, что мы нажимаем ymmN, zmmN, но мы не можем сделать это с помощью инструкции push. Можете ли вы объяснить, что это значит?

...