[Bug target/83292] __builtin_apply(), __builtin_return() trigger x87 stack exception on 32-bit x86

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Dec 6 14:42:00 GMT 2017


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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Alternatively, we could arrange for the saving of %mm0/%mm1 registers (if
TARGET_MMX) not by generic code, but through fxsave (if TARGET_FXSR), or
fnsave;frstor (otherwise), in __builtin_apply do fxrstor or frstor to get back
the %mm0/%mm1 registers if needed and after the call save the %mm0 or %st(0)
with
another fxsave or fnsave;frstor and in __builtin_return restore again with
fxrstor or frstor.


More information about the Gcc-bugs mailing list