[GHC] #12736: Calling a complex Haskell function (obtained via FFI wrapper function) from MSVC 64-bit C code (passed in as FunPtr) can leave SSE2 registers in the XMM6-XMM15 range modified
GHC
ghc-devs at haskell.org
Tue Jul 24 16:00:48 UTC 2018
#12736: Calling a complex Haskell function (obtained via FFI wrapper function) from
MSVC 64-bit C code (passed in as FunPtr) can leave SSE2 registers in the
XMM6-XMM15 range modified
-------------------------------------+-------------------------------------
Reporter: bavism | Owner: (none)
Type: bug | Status: closed
Priority: normal | Milestone:
Component: Compiler (FFI) | Version: 7.10.3
Resolution: fixed | Keywords:
| ffi,registers,sse2,clobber,xmm
Operating System: Windows | Architecture: x86_64
| (amd64)
Type of failure: Incorrect result | Test Case:
at runtime | https://github.com/bavis-m/raycast
Blocked By: | Blocking:
Related Tickets: #14619 | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Changes (by AndreasK):
* status: new => closed
* resolution: => fixed
* related: => #14619
Comment:
Fixed with #14619.
GHC did not respect callee saved XMM registers on windows. Leading to them
being clobbered.
I do not have VS2015 to confirm the repro case is fixed. But it's exactly
what I would expect to happen without the fix so I'm closing this as
fixed.
Feel free to reopen if the issue persists.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12736#comment:4>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list