summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--fold.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fold.c b/fold.c
index 4b4a811..f992b3a 100644
--- a/fold.c
+++ b/fold.c
@@ -525,6 +525,8 @@ opfold(int op, int cls, Con *cl, Con *cr, Fn *fn)
 			return Bot;
 	} else
 		foldflt(&c, op, cls == Kd, cl, cr);
+	if (!KWIDE(cls))
+		c.bits.i &= 0xffffffff;
 	r = newcon(&c, fn);
 	assert(!(cls == Ks || cls == Kd) || c.flt);
 	return r.val;