summaryrefslogtreecommitdiff
path: root/src/cmd/6g
diff options
context:
space:
mode:
authorR?my Oudompheng <oudomphe@phare.normalesup.org>2014-03-13 08:12:38 +0100
committerR?my Oudompheng <oudomphe@phare.normalesup.org>2014-03-13 08:12:38 +0100
commit685442d9f255b27904f1bdc89dc8f04f76d5b28f (patch)
tree29bd638839b5c6bb1d0e0dbe583e2021022fd383 /src/cmd/6g
parenta7b237b129010067013927dae6eabf05726f86cd (diff)
downloadgo-685442d9f255b27904f1bdc89dc8f04f76d5b28f.tar.gz
cmd/6g: fix stack zeroing preamble on amd64p32.
It was using a REP STOSQ but putting in CX the number of 32-bit words to clear. LGTM=dave R=rsc, dave CC=golang-codereviews https://codereview.appspot.com/75240043
Diffstat (limited to 'src/cmd/6g')
-rw-r--r--src/cmd/6g/ggen.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/cmd/6g/ggen.c b/src/cmd/6g/ggen.c
index 8b0c28740..230c0a2ca 100644
--- a/src/cmd/6g/ggen.c
+++ b/src/cmd/6g/ggen.c
@@ -30,11 +30,11 @@ defframe(Prog *ptxt)
// when it looks for pointers.
p = ptxt;
if(stkzerosize > 0) {
- p = appendpp(p, AMOVQ, D_CONST, 0, D_AX, 0);
- p = appendpp(p, AMOVQ, D_CONST, stkzerosize/widthptr, D_CX, 0);
- p = appendpp(p, ALEAQ, D_SP+D_INDIR, frame-stkzerosize, D_DI, 0);
+ p = appendpp(p, movptr, D_CONST, 0, D_AX, 0);
+ p = appendpp(p, movptr, D_CONST, stkzerosize/widthptr, D_CX, 0);
+ p = appendpp(p, leaptr, D_SP+D_INDIR, frame-stkzerosize, D_DI, 0);
p = appendpp(p, AREP, D_NONE, 0, D_NONE, 0);
- appendpp(p, ASTOSQ, D_NONE, 0, D_NONE, 0);
+ appendpp(p, stosptr, D_NONE, 0, D_NONE, 0);
}
}