reg and peep

R=r
OCL=19871
CL=19871
diff --git a/src/cmd/6g/cgen.c b/src/cmd/6g/cgen.c
index 4fb9e34..d6f27a9 100644
--- a/src/cmd/6g/cgen.c
+++ b/src/cmd/6g/cgen.c
@@ -176,12 +176,14 @@
 			gins(optoas(OCMP, types[tptr]), &n1, &n2);
 			p1 = gbranch(optoas(OEQ, types[tptr]), T);
 
-			n1.op = OINDREG;
-			n1.type = types[TINT32];
-			gmove(&n1, res);
+			n2 = n1;
+			n2.op = OINDREG;
+			n2.type = types[TINT32];
+			gmove(&n2, &n1);
 
 			patch(p1, pc);
 
+			gmove(&n1, res);
 			regfree(&n1);
 			break;
 		}