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

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2019-01-07
     Ever confirmed|0                           |1

--- Comment #2 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to 刘袋鼠 from comment #1)
> Pass_insert_vzeroupper uses mode_switch to insert `vzeroupper`.
> 
> In function entry and functon body, 256bits/512bits registers are used ,so
> it will set mode as `AVX_U128_DIRTY`. But for function exit no
> 256bits/512bits register is returned, so `AVX_U128_CLEAN` is set. 
> 
> Then `case AVX_U128_CLEAN` will be triggered for mode switching, maybe we
> should handle ix86_avx_u128_mode_exit.
> 

When mode is AVX_U128_DIRTY at the function entry because of function
caller mode is AVX_U128_DIRTY, we should set mode to AVX_U128_DIRTY at
function exit.  Will it work?

Reply via email to