Commit 5a5a7b51 authored by Russ Cox's avatar Russ Cox

6g, 8g: fix goto fix

R=ken2
CC=golang-dev
https://golang.org/cl/4632041
parent 333167ff
...@@ -125,7 +125,7 @@ clearstk(void) ...@@ -125,7 +125,7 @@ clearstk(void)
{ {
Plist *pl; Plist *pl;
Prog *p1, *p2; Prog *p1, *p2;
Node sp, di, cx, con; Node sp, di, cx, con, ax;
if((uint32)plast->firstpc->to.offset <= 0) if((uint32)plast->firstpc->to.offset <= 0)
return; return;
...@@ -147,6 +147,9 @@ clearstk(void) ...@@ -147,6 +147,9 @@ clearstk(void)
gins(ACLD, N, N); gins(ACLD, N, N);
gins(AMOVQ, &sp, &di); gins(AMOVQ, &sp, &di);
gins(AMOVQ, &con, &cx); gins(AMOVQ, &con, &cx);
nodconst(&con, types[TUINT64], 0);
nodreg(&ax, types[TUINT64], D_AX);
gins(AMOVQ, &con, &ax);
gins(AREP, N, N); gins(AREP, N, N);
gins(ASTOSQ, N, N); gins(ASTOSQ, N, N);
......
...@@ -127,7 +127,7 @@ clearstk(void) ...@@ -127,7 +127,7 @@ clearstk(void)
{ {
Plist *pl; Plist *pl;
Prog *p1, *p2; Prog *p1, *p2;
Node sp, di, cx, con; Node sp, di, cx, con, ax;
if(plast->firstpc->to.offset <= 0) if(plast->firstpc->to.offset <= 0)
return; return;
...@@ -149,6 +149,9 @@ clearstk(void) ...@@ -149,6 +149,9 @@ clearstk(void)
gins(ACLD, N, N); gins(ACLD, N, N);
gins(AMOVL, &sp, &di); gins(AMOVL, &sp, &di);
gins(AMOVL, &con, &cx); gins(AMOVL, &con, &cx);
nodconst(&con, types[TUINT32], 0);
nodreg(&ax, types[TUINT32], D_AX);
gins(AMOVL, &con, &ax);
gins(AREP, N, N); gins(AREP, N, N);
gins(ASTOSL, N, N); gins(ASTOSL, N, N);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment