diff options
author | Michael D. Adams <t-madams@microsoft.com> | 2007-06-26 19:23:52 +0000 |
---|---|---|
committer | Michael D. Adams <t-madams@microsoft.com> | 2007-06-26 19:23:52 +0000 |
commit | bb5c3f58b1da850b68e0745766f2786e538b5fbf (patch) | |
tree | ade3fce42c8e9ea3236283fdb90bb7ebe5889216 /compiler | |
parent | 2955dc83e4cce22ec0da7a2e654e2193814863cc (diff) | |
download | haskell-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.lhs | 2 |
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 |