diff --git a/ghc/compiler/nativeGen/MachCode.lhs b/ghc/compiler/nativeGen/MachCode.lhs
index 0af2745cd8d2175b238cc21dbab1d23a8702104d..86d3c319848033260a0cefe39b92de5dae088587 100644
--- a/ghc/compiler/nativeGen/MachCode.lhs
+++ b/ghc/compiler/nativeGen/MachCode.lhs
@@ -2792,8 +2792,8 @@ trivialCode instr x y
 			  src1  = registerName register1 dst
 		      in code1 .
 			 if isFixed register1 && src1 /= dst
-			 then mkSeqInstrs [MOV L (OpReg src1) (OpReg dst),
-					   instr (OpImm imm__2) (OpReg dst)]
+			 then mkSeqInstrs [MOV L (OpImm imm__2) (OpReg dst),
+					   instr (OpReg src1) (OpReg dst)]
 			 else
 				mkSeqInstr (instr (OpImm imm__2) (OpReg src1))
     in