changeset 58:727c280bdd25

*** empty log message ***
author kono
date Wed, 19 Feb 2003 18:48:37 +0900
parents 3d7f199e99d0
children eeca07d1b1c2
files mc-nop-386.c
diffstat 1 files changed, 14 insertions(+), 20 deletions(-) [+]
line wrap: on
line diff
--- a/mc-nop-386.c	Wed Feb 19 17:19:55 2003 +0900
+++ b/mc-nop-386.c	Wed Feb 19 18:48:37 2003 +0900
@@ -894,6 +894,13 @@
 		emit_copy(from,to,length,offset,0,det);
 	    break;
 	}
+	if (det) {
+/*
+   call bcopy
+	    g_expr(list3(FUNCTION,,);
+	    break;
+ */
+	}
 	use_register(from,REG_ESI,1);
 	use_register(to,  REG_EDI,1);
 	use_register(dreg,REG_ECX,0);
@@ -998,27 +1005,14 @@
     for (e3 = caddr(e1); e3; e3 = cadr(e3)) {	
 	t=caddr(e3);
 	n=(NMTBL *)(e5=(cadr(e4 = car(e3))));
-	switch(car(e4)) {
-/*
-	case FNAME:
-	    printf("\tlea %s,%s\n",n->nm,register_name(creg,0));
-	    printf("\tpushl %s\n",register_name(creg,0));
-	    break;
-	case ADDRESS:
-	    g_expr(e5);
+	if(scalar(t)) {
+	    g_expr(e4);
 	    printf("\tpushl %s\n",register_name(creg,0));
-	    break;
-  */
-	default:
-	    if(scalar(t)) {
-		g_expr(e4);
-		printf("\tpushl %s\n",register_name(creg,0));
-	    } else if (car(t)==STRUCT||car(t)==UNION) {
-		nargs += struct_push(e4,t);
-		continue;
-	    } else {
-		error(TYERR);
-	    }
+	} else if (car(t)==STRUCT||car(t)==UNION) {
+	    nargs += struct_push(e4,t);
+	    continue;
+	} else {
+	    error(TYERR);
 	}
 	++nargs;
     }