Skip to content
  • Geoffrey Mainland's avatar
    Do not assume that XMM registers are used to pass floating point arguments. · e02c5067
    Geoffrey Mainland authored
    On x86-32, the C calling convention specifies that when SSE2 is enabled, vector
    arguments are passed in xmm* registers; however, float and double arguments are
    still passed on the stack. This patch allows us to make the same choice for
    GHC. Even when SSE2 is enabled, we don't want to pass Float and Double arguments
    in registers because this would change the ABI and break the ability to link
    with code that was compiled without -msse2.
    
    The next patch will enable passing vector arguments in xmm registers on x86-32.
    e02c5067