From: Russ Cox Date: Tue, 19 Aug 2014 02:24:15 +0000 (-0400) Subject: [dev.power64] liblink: recognize add instruction as adjusting SP X-Git-Tag: go1.5beta1~2684^2~25^2~19 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=04d5796b2988a20175b8cb03eb7080cf4cca2179;p=gostls13.git [dev.power64] liblink: recognize add instruction as adjusting SP LGTM=minux R=minux CC=golang-codereviews https://golang.org/cl/128360043 --- diff --git a/src/liblink/list9.c b/src/liblink/list9.c index 9700a16849..9e205b7a9e 100644 --- a/src/liblink/list9.c +++ b/src/liblink/list9.c @@ -125,6 +125,8 @@ Pconv(Fmt *fp) s += sprint(s, ",%D", &p->from3); sprint(s, ",%D", &p->to); } + if(p->spadj != 0) + return fmtprint(fp, "%s # spadj=%d", str, p->spadj); } return fmtstrcpy(fp, str); } diff --git a/src/liblink/obj9.c b/src/liblink/obj9.c index 28793676cc..d0c14dfb57 100644 --- a/src/liblink/obj9.c +++ b/src/liblink/obj9.c @@ -617,6 +617,10 @@ addstacksplit(Link *ctxt, LSym *cursym) q->link = q1; break; + case AADD: + if(p->to.type == D_REG && p->to.reg == REGSP && p->from.type == D_CONST) + p->spadj = -p->from.offset; + break; } }