Rollup merge of #124003 - WaffleLapkin:dellvmization, r=scottmcm,RalfJung,antoyo
Dellvmize some intrinsics (use `u32` instead of `Self` in some integer intrinsics) This implements https://github.com/rust-lang/compiler-team/issues/693 minus what was implemented in #123226. Note: I decided to _not_ change `shl`/... builder methods, as it just doesn't seem worth it. r? ``@scottmcm``
This commit is contained in:
commit
79d217fcf1
@ -153,9 +153,10 @@ unsafe fn deref_str_ptr(s: *const str) -> &'static str {
|
||||
arr
|
||||
}
|
||||
|
||||
unsafe fn use_ctlz_nonzero(a: u16) -> u16 {
|
||||
intrinsics::ctlz_nonzero(a)
|
||||
}
|
||||
// FIXME: fix the intrinsic implementation to work with the new ->u32 signature
|
||||
// unsafe fn use_ctlz_nonzero(a: u16) -> u32 {
|
||||
// intrinsics::ctlz_nonzero(a)
|
||||
// }
|
||||
|
||||
fn ptr_as_usize(ptr: *const u8) -> usize {
|
||||
ptr as usize
|
||||
|
@ -593,7 +593,7 @@ pub mod intrinsics {
|
||||
pub fn min_align_of_val<T: ?Sized>(val: *const T) -> usize;
|
||||
pub fn copy<T>(src: *const T, dst: *mut T, count: usize);
|
||||
pub fn transmute<T, U>(e: T) -> U;
|
||||
pub fn ctlz_nonzero<T>(x: T) -> T;
|
||||
pub fn ctlz_nonzero<T>(x: T) -> u32;
|
||||
#[rustc_safe_intrinsic]
|
||||
pub fn needs_drop<T: ?Sized>() -> bool;
|
||||
#[rustc_safe_intrinsic]
|
||||
|
Loading…
Reference in New Issue
Block a user