# HG changeset patch # User kono # Date 1045648117 -32400 # Node ID 727c280bdd25576ea6b5608d9c89e82367d40249 # Parent 3d7f199e99d08aaf75d5b5a62659386fe4bfbf86 *** empty log message *** diff -r 3d7f199e99d0 -r 727c280bdd25 mc-nop-386.c --- 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; }