Skip to content

Commit

Permalink
replaced extern "rust-intrinsic" block with core::ptr::copy_nonoverla…
Browse files Browse the repository at this point in the history
…pping

using core::ptr::copy_nonoverlapping for memory operations

changes core::ptr::coopy_nonoverlapping to crate::ptr::
  • Loading branch information
BLANKatGITHUB authored and Amanieu committed Feb 25, 2025
1 parent b0ff457 commit 1d71dc6
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 15 deletions.
1 change: 0 additions & 1 deletion crates/core_arch/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
proc_macro_hygiene,
stmt_expr_attributes,
core_intrinsics,
intrinsics,
no_core,
fmt_helpers_for_derive,
rustc_attrs,
Expand Down
16 changes: 2 additions & 14 deletions crates/core_arch/src/powerpc/altivec.rs
Original file line number Diff line number Diff line change
Expand Up @@ -674,15 +674,9 @@ mod sealed {
pub unsafe fn $fun(a: isize, b: *const $ty) -> t_t_l!($ty) {
let addr = (b as *const u8).offset(a);

// Workaround ptr::copy_nonoverlapping not being inlined
unsafe extern "rust-intrinsic" {
#[rustc_nounwind]
pub fn copy_nonoverlapping<T>(src: *const T, dst: *mut T, count: usize);
}

let mut r = mem::MaybeUninit::uninit();

copy_nonoverlapping(
crate::ptr::copy_nonoverlapping(
addr,
r.as_mut_ptr() as *mut u8,
mem::size_of::<t_t_l!($ty)>(),
Expand Down Expand Up @@ -729,13 +723,7 @@ mod sealed {
pub unsafe fn $fun(s: t_t_l!($ty), a: isize, b: *mut $ty) {
let addr = (b as *mut u8).offset(a);

// Workaround ptr::copy_nonoverlapping not being inlined
unsafe extern "rust-intrinsic" {
#[rustc_nounwind]
pub fn copy_nonoverlapping<T>(src: *const T, dst: *mut T, count: usize);
}

copy_nonoverlapping(
crate::ptr::copy_nonoverlapping(
&s as *const _ as *const u8,
addr,
mem::size_of::<t_t_l!($ty)>(),
Expand Down

0 comments on commit 1d71dc6

Please sign in to comment.