Mercurial > hg > CbC > old > device
comparison mc-code-mips.c @ 259:18837238e306 complex-arg-precalc
complex argument pre-calcuration done for power pc
author | kono |
---|---|
date | Sat, 15 May 2004 21:11:01 +0900 |
parents | 8cd8d72286ae |
children | 9843979a270e |
comparison
equal
deleted
inserted
replaced
258:22949117768f | 259:18837238e306 |
---|---|
1407 case 4: case -4: | 1407 case 4: case -4: |
1408 printf("\tlw %s,%d(%s)\n",drn,offset,frn); | 1408 printf("\tlw %s,%d(%s)\n",drn,offset,frn); |
1409 printf("\tsw %s,%d(%s)\n",drn,offset,trn); | 1409 printf("\tsw %s,%d(%s)\n",drn,offset,trn); |
1410 break; | 1410 break; |
1411 default: | 1411 default: |
1412 if (-MAX_COPY_LEN<length && length <0) { | 1412 if (length <0) { |
1413 for(;length<=4;length+=4,offset-=4) | 1413 if (length > -MAX_COPY_LEN) { |
1414 emit_copy(from,to,4,offset,0,det); | 1414 for(;length<=-4;length+=4,offset-=4) |
1415 for(;length<=2;length+=2,offset-=2) | 1415 emit_copy(from,to,-4,offset-4,0,det); |
1416 emit_copy(from,to,2,offset,0,det); | 1416 for(;length<=-2;length+=2,offset-=2) |
1417 if(length>0) | 1417 emit_copy(from,to,-2,offset-2,0,det); |
1418 emit_copy(from,to,length,offset,0,det); | 1418 if(length<0) |
1419 break; | 1419 emit_copy(from,to,length,offset-1,0,det); |
1420 break; | |
1421 } | |
1420 } else if (length <=MAX_COPY_LEN) { | 1422 } else if (length <=MAX_COPY_LEN) { |
1421 for(;length>=4;length-=4,offset+=4) | 1423 for(;length>=4;length-=4,offset+=4) |
1422 emit_copy(from,to,4,offset,0,det); | 1424 emit_copy(from,to,4,offset,0,det); |
1423 for(;length>=2;length-=2,offset+=2) | 1425 for(;length>=2;length-=2,offset+=2) |
1424 emit_copy(from,to,2,offset,0,det); | 1426 emit_copy(from,to,2,offset,0,det); |