diff options
author | Ken Thompson <ken@golang.org> | 2011-02-09 16:03:02 -0800 |
---|---|---|
committer | Ken Thompson <ken@golang.org> | 2011-02-09 16:03:02 -0800 |
commit | cc4d57abac7c96aede1ceb8d49fc5b86e8461f2c (patch) | |
tree | d93b7ba74dfff63ba617b48949d0fdddc7b2a4fc | |
parent | 4438f502936b23078e904e0f5cdbb32c2daf10e8 (diff) | |
download | go-cc4d57abac7c96aede1ceb8d49fc5b86e8461f2c.tar.gz go-cc4d57abac7c96aede1ceb8d49fc5b86e8461f2c.zip |
peep: more bugs
R=r
CC=golang-dev
https://golang.org/cl/4176042
-rw-r--r-- | src/cmd/5g/peep.c | 13 | ||||
-rw-r--r-- | src/cmd/5g/reg.c | 4 |
2 files changed, 10 insertions, 7 deletions
diff --git a/src/cmd/5g/peep.c b/src/cmd/5g/peep.c index 1aac1a8302..ca12d70f26 100644 --- a/src/cmd/5g/peep.c +++ b/src/cmd/5g/peep.c @@ -339,7 +339,8 @@ subprop(Reg *r0) case AMULLU: case AMULA: -// case AMVN: + case AMVN: + return 0; case ACMN: case AADD: @@ -985,6 +986,8 @@ copyu(Prog *p, Adr *v, Adr *s) case AMOVHU: case AMOVB: case AMOVBU: + case AMOVFW: + case AMOVWF: case AMOVDW: case AMOVWD: case AMOVFD: @@ -1020,7 +1023,7 @@ copyu(Prog *p, Adr *v, Adr *s) case AMULLU: /* read, read, write, write */ case AMULA: -// case AMVN: + case AMVN: return 2; case AADD: /* read, read, write */ @@ -1192,15 +1195,15 @@ copyau(Adr *a, Adr *v) return 1; if(v->type == D_REG) { if(a->type == D_CONST && a->reg != NREG) { - if(v->reg == a->reg) + if(a->reg == v->reg) return 1; } else if(a->type == D_OREG) { - if(v->reg == a->reg) + if(a->reg == v->reg) return 1; } else if(a->type == D_REGREG) { - if(v->reg == a->reg) + if(a->reg == v->reg) return 1; if(a->offset == v->reg) return 1; diff --git a/src/cmd/5g/reg.c b/src/cmd/5g/reg.c index c80c0774bf..f31f70535e 100644 --- a/src/cmd/5g/reg.c +++ b/src/cmd/5g/reg.c @@ -140,10 +140,10 @@ regopt(Prog *firstp) if(first == 0) { fmtinstall('Q', Qconv); } - first++; + first++; if(debug['K']) { - if(first != 2) + if(first != 13) return; // debug['R'] = 2; // debug['P'] = 2; |