Mercurial > hg > CbC > old > device
comparison mc-codegen.c @ 280:affb054fe920
lrexpr fix. rexpr in MIPS fix.
author | kono |
---|---|
date | Sun, 23 May 2004 15:27:25 +0900 |
parents | 5b50813d0c45 |
children | ec1a68133f6a |
comparison
equal
deleted
inserted
replaced
279:3e8ba7024d25 | 280:affb054fe920 |
---|---|
489 e2=cadr(e1); | 489 e2=cadr(e1); |
490 switch(car(e1)) { | 490 switch(car(e1)) { |
491 case LNOT: | 491 case LNOT: |
492 b_expr(e2,!cond,l1,0); | 492 b_expr(e2,!cond,l1,0); |
493 return; | 493 return; |
494 case GT: | 494 case GT: case GE: case LT: case LE: |
495 rexpr(e1,l1,code_gt(cond),INT); | 495 case EQ: case NEQ: |
496 return; | 496 rexpr(e1,l1,cond,INT); |
497 case UGT: | 497 return; |
498 rexpr(e1,l1,code_ugt(cond),UNSIGNED); | 498 case UGT: case UGE: case ULT: case ULE: |
499 return; | 499 rexpr(e1,l1,cond,UNSIGNED); |
500 case GE: | |
501 rexpr(e1,l1,code_ge(cond),INT); | |
502 return; | |
503 case UGE: | |
504 rexpr(e1,l1,code_uge(cond),UNSIGNED); | |
505 return; | |
506 case LT: | |
507 rexpr(e1,l1,code_ge(!cond),INT); | |
508 return; | |
509 case ULT: | |
510 rexpr(e1,l1,code_uge(!cond),UNSIGNED); | |
511 return; | |
512 case LE: | |
513 rexpr(e1,l1,code_gt(!cond),INT); | |
514 return; | |
515 case ULE: | |
516 rexpr(e1,l1,code_ugt(!cond),UNSIGNED); | |
517 return; | |
518 case EQ: | |
519 rexpr(e1,l1,code_eq(cond),INT); | |
520 return; | |
521 case NEQ: | |
522 rexpr(e1,l1,code_eq(!cond),INT); | |
523 return; | 500 return; |
524 #if FLOAT_CODE | 501 #if FLOAT_CODE |
525 case DOP+GT: | 502 case DOP+GT: |
526 case DOP+GE: | 503 case DOP+GE: |
527 case DOP+EQ: | 504 case DOP+EQ: |