summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--lisc/emit.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lisc/emit.c b/lisc/emit.c
index 140edab..10a9691 100644
--- a/lisc/emit.c
+++ b/lisc/emit.c
@@ -195,7 +195,8 @@ eins(Ins i, Fn *fn, FILE *f)
 	case OCopy:
 		if (req(i.to, R))
 			break;
-		if (i.to.val < EAX
+		if (rtype(i.to) == RTmp
+		&& i.to.val < EAX
 		&& rtype(i.arg[0]) == RCon
 		&& fn->con[i.arg[0].val].type == CNum
 		&& (val = fn->con[i.arg[0].val].val) >= 0