diff options
author | Ian Lynagh <igloo@earth.li> | 2012-02-24 01:49:41 +0000 |
---|---|---|
committer | Ian Lynagh <igloo@earth.li> | 2012-02-24 01:49:41 +0000 |
commit | 16d8cddd359ea39355418528604ceac5493aaa52 (patch) | |
tree | 29be3aa710f54d0c372f72f18fee65fb86fbf297 | |
parent | d16c68110cc2bbb9aaa47a6ac11ed4e57527646d (diff) | |
download | haskell-16d8cddd359ea39355418528604ceac5493aaa52.tar.gz |
Fix generic 2-word-multiply
-rw-r--r-- | compiler/codeGen/CgPrimOp.hs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/codeGen/CgPrimOp.hs b/compiler/codeGen/CgPrimOp.hs index c23608de36..2fad514096 100644 --- a/compiler/codeGen/CgPrimOp.hs +++ b/compiler/codeGen/CgPrimOp.hs @@ -530,9 +530,9 @@ emitPrimOp [res_h, res_l] WordMul2Op [arg_x, arg_y] _ (toTopHalf (CmmReg r))), CmmAssign (CmmLocal res_h) (sum [mul (topHalf arg_x) (topHalf arg_y), - bottomHalf (CmmReg xhyl), - bottomHalf (CmmReg xlyh), - topHalf (CmmReg r)])] + topHalf (CmmReg xhyl), + topHalf (CmmReg xlyh), + topHalf (CmmReg r)])] where topHalf x = CmmMachOp (MO_U_Shr wordWidth) [x, hww] toTopHalf x = CmmMachOp (MO_Shl wordWidth) [x, hww] bottomHalf x = CmmMachOp (MO_And wordWidth) [x, hwm] |