diff options
author | Geoffrey Mainland <mainland@apeiron.net> | 2013-08-08 15:58:42 +0100 |
---|---|---|
committer | Geoffrey Mainland <gmainlan@microsoft.com> | 2013-09-22 22:33:59 -0400 |
commit | e02c5067b18cd221eb1021bc21d96aeacb9d9c3b (patch) | |
tree | 95278c68bb3203df1a9fa9537af0bdb68e679236 /compiler/codeGen | |
parent | bdcf210adf89cc26620422feb65f29eee9392318 (diff) | |
download | haskell-e02c5067b18cd221eb1021bc21d96aeacb9d9c3b.tar.gz |
Do not assume that XMM registers are used to pass floating point arguments.
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.
Diffstat (limited to 'compiler/codeGen')
0 files changed, 0 insertions, 0 deletions