diff --git a/src/builtins/slash.c b/src/builtins/slash.c index c08e8956..019bbffc 100644 --- a/src/builtins/slash.c +++ b/src/builtins/slash.c @@ -448,15 +448,15 @@ B grade_bool(B x, usz xia, bool up) { i32* rp0; r = m_i32arrv(&rp0, xia); i32* rp1 = rp0 + l0; if (!up) { i32* t=rp1; rp1=rp0; rp0=t; } - usz b = 256; TALLOC(u8, buf, b+b/8); + usz b = 256; TALLOC(u8, buf, b); + u64 xp0[4]; // 4 ≡ b/64 u64* xp1 = xp; - u64* xp0 = (u64*)(buf + b); for (usz i=0; ixia-i) b=xia-i; - NOUNROLL for (usz j=0; jxia-i? xia-i : b; + usz s0=bit_sum(xp0,b2); bmipopc_1slash8(xp0, (i8*)buf, b2); for (usz j=0; j