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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ebotcazou at gcc dot gnu.org,
                   |                            |gingold at gcc dot gnu.org,
                   |                            |jyong at gcc dot gnu.org

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
So the *.optimized dump shows that the division is CSEd by SCCVN the same way
as on Linux, so it is all about the 1/3.0 result living in the %xmm6 register
and exception being thrown in some callee and caught in the same function as
the %xmm6 register is set and later used.
I know nothing about Windows SEH, so CCing some people who have touched it in
the last few years, from the quick skim at the assembly EH is the only
possibility how the proper value in the %xmm6 register wouldn't be restored.

Reply via email to