comparison mc-codegen.c @ 458:0bc9f3273aa7

*** empty log message ***
author kono
date Wed, 01 Dec 2004 23:14:50 +0900
parents b8f95294eb77
children 2a49dfe59540
comparison
equal deleted inserted replaced
457:a7d76928e3c1 458:0bc9f3273aa7
2315 #endif 2315 #endif
2316 2316
2317 extern void 2317 extern void
2318 cmpdimm(int e, int csreg,int label,int cond) 2318 cmpdimm(int e, int csreg,int label,int cond)
2319 { 2319 {
2320 if (!chk) 2320 if (!chk) {
2321 code_cmpdimm(e, csreg,label,cond); 2321 if (car(csreg)==CONST) {
2322 switch(cond) {
2323 case 1: case 0:
2324 if (cond ^ (cadr(csreg)==e)) gen_jmp(label);
2325 break;
2326 case LT:
2327 if ((cadr(csreg)>e)) gen_jmp(label);
2328 break;
2329 }
2330 } else if (car(csreg)==REGISTER) {
2331 code_cmpdimm(e, cadr(csreg),label,cond);
2332 } else error(-1);
2333 }
2322 } 2334 }
2323 2335
2324 extern int 2336 extern int
2325 csvalue() 2337 csvalue()
2326 { 2338 {