]> git.ipfire.org Git - thirdparty/gcc.git/commit
x86: Don't issue vzeroupper if callee returns AVX register
authorH.J. Lu <hjl.tools@gmail.com>
Sun, 18 Jul 2021 13:12:29 +0000 (06:12 -0700)
committerH.J. Lu <hjl.tools@gmail.com>
Sun, 18 Jul 2021 19:21:24 +0000 (12:21 -0700)
commit5586e7e85de381f3df843091494889f8ad8e3e1f
tree63053b13cd02751f972af62587de4a541dbc0145
parent5cca4131e4aabf70a18e362620ad65a3cebf227a
x86: Don't issue vzeroupper if callee returns AVX register

Don't issue vzeroupper before function call if callee returns AVX
register since callee must be compiled with AVX.

gcc/

PR target/101495
* config/i386/i386.c (ix86_check_avx_upper_stores): Moved before
ix86_avx_u128_mode_needed.
(ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY if callee
returns AVX register.

gcc/testsuite/

PR target/101495
* gcc.target/i386/avx-vzeroupper-28.c: New test.
gcc/config/i386/i386.c
gcc/testsuite/gcc.target/i386/avx-vzeroupper-28.c [new file with mode: 0644]