commit | e081f25c3e602804fc3bd0780e09bf35d2a098cb | [log] [tgz] |
---|---|---|
author | Ken Thompson <ken@golang.org> | Sat Nov 22 17:58:53 2008 -0800 |
committer | Ken Thompson <ken@golang.org> | Sat Nov 22 17:58:53 2008 -0800 |
tree | 013c11441e6349cd7da240b6e0f7245bf55eeec1 | |
parent | 5169bb44e6bafe990112fa39890fef7168ae679f [diff] [blame] |
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; }