Mercurial > hg > CbC > old > device
diff mc-code-ia32.c @ 230:d60c6c31f63a
*** empty log message ***
author | kono |
---|---|
date | Wed, 28 Apr 2004 15:06:01 +0900 |
parents | 8675ea3d2c7f |
children | c575422d8b6e |
line wrap: on
line diff
--- a/mc-code-ia32.c Wed Apr 28 00:02:59 2004 +0900 +++ b/mc-code-ia32.c Wed Apr 28 15:06:01 2004 +0900 @@ -1976,8 +1976,28 @@ } void -drexpr(int e1, int e2,int l1, int op) +drexpr(int e1, int e2,int l1, int op,int cond) { + if (cond) { + switch(op) { + case DOP+GE: + drexpr(e2,e1,l1,DOP+GT,0); break; + case FOP+GE: + drexpr(e2,e1,l1,FOP+GT,0); break; + case DOP+GT: + drexpr(e2,e1,l1,DOP+GE,0); break; + case FOP+GT: + drexpr(e2,e1,l1,FOP+GE,0); break; + case DOP+EQ: + op = DOP+NEQ; break; + case FOP+EQ: + op = FOP+NEQ; break; + case DOP+NEQ: + op = DOP+EQ; break; + case FOP+NEQ: + op = FOP+EQ; break; + } + } g_expr(list3(DCMP,e1,e2)); switch(op) { case DOP+GE: @@ -2104,7 +2124,7 @@ /* 64bit int part */ -void lrexpr(int e1, int e2,int l1, int op) +void lrexpr(int e1, int e2,int l1, int op,int cond) { }