summary refs log tree commit diff
path: root/lisc/rega.c
diff options
context:
space:
mode:
Diffstat (limited to 'lisc/rega.c')
-rw-r--r--lisc/rega.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lisc/rega.c b/lisc/rega.c
index e1f0a6d..ea42ad1 100644
--- a/lisc/rega.c
+++ b/lisc/rega.c
@@ -339,7 +339,7 @@ rega(Fn *fn)
 				if (!req(i->to, R)) {
 					assert(rtype(i->to) == RTmp);
 					r = rfree(&cur, i->to.val);
-					if (r == -1) {
+					if (r == -1 && !isreg(i->to)) {
 						*i = (Ins){.op = ONop};
 						continue;
 					}