diff --git a/src/layout/shifts.nim b/src/layout/shifts.nim index 585f028..48fa4bb 100644 --- a/src/layout/shifts.nim +++ b/src/layout/shifts.nim @@ -102,6 +102,7 @@ template startSB*(sb0: ShiftB; e: untyped) = if sb0.si.nSendRanks > 0: type F = numberType(sb0.T) let nv = sizeof(sb0.T) div sb0.size + #let maskall = (1 shl nv) - 1 let ne = sb0.size div sizeof(F) let b = cast[ptr cArray[F]](sb0.sb.sq.sbuf) let l = cast[ptr cArray[F]](sb0.sb.lbuf) @@ -109,18 +110,25 @@ template startSB*(sb0: ShiftB; e: untyped) = let sx = sb0.si.sendSites[i] var pack = sb0.si.sq.packmasks[sx.maskidx] var ix{.inject.} = int sx.site - #let ev = cast[ptr cArray[F]](e[ix]) - let ev = cast[ptr cArray[F]](addr e) - var bi = ne * sb0.si.sq.sbufcount[i] - var li = ne * sb0.si.sq.lbufcount[i] - for j in 0..