fn memsetSmallPowerOf2(d: [*]u8, b: u8, comptime size: usize) void
fn memsetSmallPowerOf2(d: [*]u8, b: u8, comptime size: usize) void { if (size > @sizeOf(usize)) { d[0..size].* = @splat(b); } else { const T = @Int(.unsigned, 8 * size); var splatted: T = 0; // Setting this to undefined causes a memset call and thus infinite recursion in Debug test-compiler-rt. @as(*[size]u8, @ptrCast(&splatted)).* = @splat(b); @as(*align(1) T, @ptrCast(d)).* = splatted; } }