1
0
mirror of https://github.com/golang/go synced 2024-11-25 06:57:58 -07:00

enable arm peep.

one bug fixed,
probably more will be revealed

R=r
CC=golang-dev
https://golang.org/cl/4126044
This commit is contained in:
Ken Thompson 2011-01-30 15:55:08 -08:00
parent 0f0f34ee05
commit 1f55105f66
2 changed files with 30 additions and 4 deletions

View File

@ -333,6 +333,9 @@ subprop(Reg *r0)
case ABL: case ABL:
return 0; return 0;
case AMULLU:
case AMULA:
case ACMN: case ACMN:
case AADD: case AADD:
case ASUB: case ASUB:
@ -344,9 +347,13 @@ subprop(Reg *r0)
case AORR: case AORR:
case AAND: case AAND:
case AEOR: case AEOR:
case AMVN:
case AMUL: case AMUL:
case AMULU:
case ADIV: case ADIV:
case ADIVU: case ADIVU:
case AMOD:
case AMODU:
case AADDD: case AADDD:
case AADDF: case AADDF:
@ -1005,7 +1012,12 @@ copyu(Prog *p, Adr *v, Adr *s)
return 1; return 1;
return 0; return 0;
case AMULLU: /* read, read, write, write */
case AMULA:
return 2;
case AADD: /* read, read, write */ case AADD: /* read, read, write */
case AADC:
case ASUB: case ASUB:
case ASBC: case ASBC:
case ARSB: case ARSB:
@ -1015,9 +1027,13 @@ copyu(Prog *p, Adr *v, Adr *s)
case AORR: case AORR:
case AAND: case AAND:
case AEOR: case AEOR:
case AMVN:
case AMUL: case AMUL:
case AMULU:
case ADIV: case ADIV:
case ADIVU: case ADIVU:
case AMOD:
case AMODU:
case AADDF: case AADDF:
case AADDD: case AADDD:
case ASUBF: case ASUBF:
@ -1144,6 +1160,9 @@ a2type(Prog *p)
case ACMP: case ACMP:
case ACMN: case ACMN:
case AMULLU:
case AMULA:
case AADD: case AADD:
case ASUB: case ASUB:
case ARSB: case ARSB:
@ -1153,9 +1172,13 @@ a2type(Prog *p)
case AORR: case AORR:
case AAND: case AAND:
case AEOR: case AEOR:
case AMVN:
case AMUL: case AMUL:
case AMULU:
case ADIV: case ADIV:
case ADIVU: case ADIVU:
case AMOD:
case AMODU:
return D_REG; return D_REG;
case ACMPF: case ACMPF:
@ -1372,12 +1395,15 @@ int
modifiescpsr(Prog *p) modifiescpsr(Prog *p)
{ {
switch(p->as) { switch(p->as) {
case AMULLU:
case AMULA:
case AMULU:
case ADIVU:
case ATEQ: case ATEQ:
case ACMN: case ACMN:
case ATST: case ATST:
case ACMP: case ACMP:
case AMULU:
case ADIVU:
case AMUL: case AMUL:
case ADIV: case ADIV:
case AMOD: case AMOD:

View File

@ -143,7 +143,7 @@ regopt(Prog *firstp)
first++; first++;
if(debug['K']) { if(debug['K']) {
if(first != 1) if(first != 13)
return; return;
// debug['R'] = 2; // debug['R'] = 2;
// debug['P'] = 2; // debug['P'] = 2;
@ -491,7 +491,7 @@ brk:
* peep-hole on basic block * peep-hole on basic block
*/ */
if(!debug['R'] || debug['P']) { if(!debug['R'] || debug['P']) {
// peep(); peep();
} }
/* /*