summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--fold.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/fold.c b/fold.c
index c507101..253c52e 100644
--- a/fold.c
+++ b/fold.c
@@ -24,9 +24,9 @@ czero(Con *c, int w)
 	if (c->type != CBits)
 		return 0;
 	if (w)
-		return !c->bits.i;
+		return c->bits.i == 0;
 	else
-		return !(uint32_t)c->bits.i;
+		return (uint32_t)c->bits.i == 0;
 }
 
 static int
@@ -291,9 +291,9 @@ fold(Fn *fn)
 		renref(&b->jmp.arg, fn);
 		if (b->jmp.type == JJnz && rtype(b->jmp.arg) == RCon) {
 				b->jmp.type = JJmp;
-				b->jmp.arg = R;
 				if (czero(&fn->con[b->jmp.arg.val], 0))
 					b->s1 = b->s2;
+				b->jmp.arg = R;
 				b->s2 = 0;
 		}
 		pb = &b->link;