summary refs log tree commit diff
path: root/lisc/emit.c
diff options
context:
space:
mode:
Diffstat (limited to 'lisc/emit.c')
-rw-r--r--lisc/emit.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/lisc/emit.c b/lisc/emit.c
index 665a418..c1fd49a 100644
--- a/lisc/emit.c
+++ b/lisc/emit.c
@@ -43,7 +43,6 @@ static char *rtoa[] = {
 static char *rbtoa[] = {
 	[RXX] = "OH GOD!",
 
-
 	[RAX] = "al",
 	[RCX] = "cl",
 	[RDX] = "dl",
@@ -166,8 +165,10 @@ eins(Ins i, Fn *fn, FILE *f)
 	case OXDiv:
 		eop("idiv", i.arg[0], R, fn, f);
 		break;
-	case OXCmp:
-		eop("cmp", i.arg[0], i.arg[1], fn, f);
+	case OXCmpw:
+	case OXCmpl:
+		eop(i.op == OXCmpw ? "cmpl" : "cmpq",
+			i.arg[0], i.arg[1], fn, f);
 		break;
 	case ONop:
 		break;