mirror of
https://github.com/golang/go
synced 2024-11-25 01:57:56 -07:00
parent
4438f50293
commit
cc4d57abac
@ -339,7 +339,8 @@ subprop(Reg *r0)
|
|||||||
|
|
||||||
case AMULLU:
|
case AMULLU:
|
||||||
case AMULA:
|
case AMULA:
|
||||||
// case AMVN:
|
case AMVN:
|
||||||
|
return 0;
|
||||||
|
|
||||||
case ACMN:
|
case ACMN:
|
||||||
case AADD:
|
case AADD:
|
||||||
@ -985,6 +986,8 @@ copyu(Prog *p, Adr *v, Adr *s)
|
|||||||
case AMOVHU:
|
case AMOVHU:
|
||||||
case AMOVB:
|
case AMOVB:
|
||||||
case AMOVBU:
|
case AMOVBU:
|
||||||
|
case AMOVFW:
|
||||||
|
case AMOVWF:
|
||||||
case AMOVDW:
|
case AMOVDW:
|
||||||
case AMOVWD:
|
case AMOVWD:
|
||||||
case AMOVFD:
|
case AMOVFD:
|
||||||
@ -1020,7 +1023,7 @@ copyu(Prog *p, Adr *v, Adr *s)
|
|||||||
|
|
||||||
case AMULLU: /* read, read, write, write */
|
case AMULLU: /* read, read, write, write */
|
||||||
case AMULA:
|
case AMULA:
|
||||||
// case AMVN:
|
case AMVN:
|
||||||
return 2;
|
return 2;
|
||||||
|
|
||||||
case AADD: /* read, read, write */
|
case AADD: /* read, read, write */
|
||||||
@ -1192,15 +1195,15 @@ copyau(Adr *a, Adr *v)
|
|||||||
return 1;
|
return 1;
|
||||||
if(v->type == D_REG) {
|
if(v->type == D_REG) {
|
||||||
if(a->type == D_CONST && a->reg != NREG) {
|
if(a->type == D_CONST && a->reg != NREG) {
|
||||||
if(v->reg == a->reg)
|
if(a->reg == v->reg)
|
||||||
return 1;
|
return 1;
|
||||||
} else
|
} else
|
||||||
if(a->type == D_OREG) {
|
if(a->type == D_OREG) {
|
||||||
if(v->reg == a->reg)
|
if(a->reg == v->reg)
|
||||||
return 1;
|
return 1;
|
||||||
} else
|
} else
|
||||||
if(a->type == D_REGREG) {
|
if(a->type == D_REGREG) {
|
||||||
if(v->reg == a->reg)
|
if(a->reg == v->reg)
|
||||||
return 1;
|
return 1;
|
||||||
if(a->offset == v->reg)
|
if(a->offset == v->reg)
|
||||||
return 1;
|
return 1;
|
||||||
|
@ -140,10 +140,10 @@ regopt(Prog *firstp)
|
|||||||
if(first == 0) {
|
if(first == 0) {
|
||||||
fmtinstall('Q', Qconv);
|
fmtinstall('Q', Qconv);
|
||||||
}
|
}
|
||||||
first++;
|
|
||||||
|
|
||||||
|
first++;
|
||||||
if(debug['K']) {
|
if(debug['K']) {
|
||||||
if(first != 2)
|
if(first != 13)
|
||||||
return;
|
return;
|
||||||
// debug['R'] = 2;
|
// debug['R'] = 2;
|
||||||
// debug['P'] = 2;
|
// debug['P'] = 2;
|
||||||
|
Loading…
Reference in New Issue
Block a user