https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92190

Liu Hao <lh_mouse at 126 dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |lh_mouse at 126 dot com

--- Comment #7 from Liu Hao <lh_mouse at 126 dot com> ---
MSDN says 'the upper portions of YMM0-15 and ZMM0-15 are considered volatile
and must be considered destroyed on function calls' explicitly [1].

I am not clear about the cause of OP's ICE, but I think it should conform to
MSABI to emit VZEROUPPER in the epilog, followed by restoring XMM6 - XMM15,
destroying their upper halves. Similar with the prolog.

[1]
https://docs.microsoft.com/en-us/cpp/build/x64-calling-convention?view=vs-2019#callercallee-saved-registers

Reply via email to