diff options
author | R?my Oudompheng <oudomphe@phare.normalesup.org> | 2014-03-13 08:12:38 +0100 |
---|---|---|
committer | R?my Oudompheng <oudomphe@phare.normalesup.org> | 2014-03-13 08:12:38 +0100 |
commit | 685442d9f255b27904f1bdc89dc8f04f76d5b28f (patch) | |
tree | 29bd638839b5c6bb1d0e0dbe583e2021022fd383 /src/cmd/6g | |
parent | a7b237b129010067013927dae6eabf05726f86cd (diff) | |
download | go-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.c | 8 |
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); } } |