fn memmoveFast(dest: ?[*]u8, src: ?[*]u8, len: usize) callconv(.c) ?[*]u8
fn memmoveFast(dest: ?[*]u8, src: ?[*]u8, len: usize) callconv(.c) ?[*]u8 { @setRuntimeSafety(compiler_rt.test_safety); const small_limit = @max(2 * @sizeOf(Element), @sizeOf(Element)); if (copySmallLength(small_limit, dest.?, src.?, len)) return dest; const dest_address = @intFromPtr(dest); const src_address = @intFromPtr(src); if (src_address < dest_address) { copyBackwards(dest.?, src.?, len); } else { copyForwards(dest.?, src.?, len); } return dest; }