summary refs log tree commit diff
path: root/lisc/emit.c
diff options
context:
space:
mode:
authorQuentin Carbonneaux <quentin.carbonneaux@yale.edu>2015-09-11 14:10:05 -0400
committerQuentin Carbonneaux <quentin.carbonneaux@yale.edu>2015-09-15 23:01:33 -0400
commitece185f06705864ae55cbe15fea88c6bc4315f62 (patch)
tree150bc0c4966b16d2d88c8a656c00cf65781f8dba /lisc/emit.c
parent8201c6161e215e4716f3305e3dcb1e6b3de15ea9 (diff)
downloadroux-ece185f06705864ae55cbe15fea88c6bc4315f62.tar.gz
implement aggregate passing in regs
Diffstat (limited to 'lisc/emit.c')
-rw-r--r--lisc/emit.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/lisc/emit.c b/lisc/emit.c
index 8f370d9..691dc25 100644
--- a/lisc/emit.c
+++ b/lisc/emit.c
@@ -249,10 +249,7 @@ eins(Ins i, Fn *fn, FILE *f)
 				1, TMP(RSP), i.to);
 		break;
 	case OXPush:
-		emitf(fn, f, "\tpush%w %R\n", 1, i.arg[0]);
-		break;
-	case OXMovs:
-		emitf(fn, f, "\trep movsb\n");
+		emitf(fn, f, "\tpush%w %R\n", i.wide, i.arg[0]);
 		break;
 	case OXDiv:
 		emitf(fn, f, "\tidiv%w %R\n", i.wide, i.arg[0]);