summaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
authorMichael D. Adams <t-madams@microsoft.com>2007-06-26 19:23:52 +0000
committerMichael D. Adams <t-madams@microsoft.com>2007-06-26 19:23:52 +0000
commitbb5c3f58b1da850b68e0745766f2786e538b5fbf (patch)
treeade3fce42c8e9ea3236283fdb90bb7ebe5889216 /compiler
parent2955dc83e4cce22ec0da7a2e654e2193814863cc (diff)
downloadhaskell-bb5c3f58b1da850b68e0745766f2786e538b5fbf.tar.gz
Fix bug relating to the return values of prim ops
The return values were getting put in a LocalReg but that LocalReg needed to be stored into the enclosing expression's return register (e.g. R1).
Diffstat (limited to 'compiler')
-rw-r--r--compiler/codeGen/CgExpr.lhs2
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/codeGen/CgExpr.lhs b/compiler/codeGen/CgExpr.lhs
index e58fda7156..7452de038d 100644
--- a/compiler/codeGen/CgExpr.lhs
+++ b/compiler/codeGen/CgExpr.lhs
@@ -162,7 +162,7 @@ cgExpr x@(StgOpApp op@(StgPrimOp primop) args res_ty)
| ReturnsPrim rep <- result_info
= do cgPrimOp [dataReturnConvPrim (primRepToCgRep rep)]
primop args emptyVarSet
- performReturn emitReturnInstr
+ performPrimReturn (primRepToCgRep rep) (CmmReg (CmmLocal res))
| ReturnsAlg tycon <- result_info, isUnboxedTupleTyCon tycon
= do (reps, regs, _hints) <- newUnboxedTupleRegs res_ty