projects
/
ghc-hetmet.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
61af839
)
FIX #1424: x86_64 NCG generated wrong code for foreign call with >8 double args
author
Simon Marlow
<simonmar@microsoft.com>
Wed, 13 Jun 2007 14:24:31 +0000
(14:24 +0000)
committer
Simon Marlow
<simonmar@microsoft.com>
Wed, 13 Jun 2007 14:24:31 +0000
(14:24 +0000)
I guess we have a missing test... I'll add one
compiler/nativeGen/MachCodeGen.hs
patch
|
blob
|
history
diff --git
a/compiler/nativeGen/MachCodeGen.hs
b/compiler/nativeGen/MachCodeGen.hs
index
0bab29c
..
d371214
100644
(file)
--- a/
compiler/nativeGen/MachCodeGen.hs
+++ b/
compiler/nativeGen/MachCodeGen.hs
@@
-3361,9
+3361,9
@@
genCCall target dest_regs args vols = do
(arg_reg, arg_code) <- getSomeReg arg
delta <- getDeltaNat
setDeltaNat (delta-arg_size)
- let code' = code `appOL` toOL [
- MOV arg_rep (OpReg arg_reg) (OpAddr (spRel 0)),
+ let code' = code `appOL` arg_code `appOL` toOL [
SUB wordRep (OpImm (ImmInt arg_size)) (OpReg rsp) ,
+ MOV arg_rep (OpReg arg_reg) (OpAddr (spRel 0)),
DELTA (delta-arg_size)]
push_args rest code'