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)
 {
 }