aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAustin Clements <austin@google.com>2014-11-12 14:16:49 -0500
committerAustin Clements <austin@google.com>2014-11-12 14:16:49 -0500
commitc1e8c57c3d0083fafaf451db7b9b018e16d3669b (patch)
treeb707e4111ec3dfb6313b3dedb03b96e557bb12aa
parent7739533f61616ba71ef691489c0eeab2a59bd9e9 (diff)
downloadgo-c1e8c57c3d0083fafaf451db7b9b018e16d3669b.tar.gz
go-c1e8c57c3d0083fafaf451db7b9b018e16d3669b.zip
[dev.power64] 9g: fix width check and width calculation for OADDR
LGTM=rsc R=rsc CC=golang-codereviews https://golang.org/cl/174970043
-rw-r--r--src/cmd/9g/gsubr.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/cmd/9g/gsubr.c b/src/cmd/9g/gsubr.c
index f7a4290818..e5cd5ed4bf 100644
--- a/src/cmd/9g/gsubr.c
+++ b/src/cmd/9g/gsubr.c
@@ -1046,6 +1046,8 @@ gins(int as, Node *f, Node *t)
break;
case AMOVD:
case AMOVDU:
+ if(af.type == D_CONST)
+ break;
w = 8;
break;
}
@@ -1275,7 +1277,6 @@ naddr(Node *n, Addr *a, int canemitcode)
case OADDR:
naddr(n->left, a, canemitcode);
a->etype = tptr;
- a->width = widthptr;
switch(a->type) {
case D_OREG:
a->type = D_CONST;