diff options
Diffstat (limited to 'src/test/codegen/intrinsics/offset_from.rs')
-rw-r--r-- | src/test/codegen/intrinsics/offset_from.rs | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/src/test/codegen/intrinsics/offset_from.rs b/src/test/codegen/intrinsics/offset_from.rs deleted file mode 100644 index d0de4c835..000000000 --- a/src/test/codegen/intrinsics/offset_from.rs +++ /dev/null @@ -1,36 +0,0 @@ -// compile-flags: -C opt-level=1 -// only-64bit (because we're using [ui]size) - -#![crate_type = "lib"] -#![feature(core_intrinsics)] - -//! Basic optimizations are enabled because otherwise `x86_64-gnu-nopt` had an alloca. -//! Uses a type with non-power-of-two size to avoid normalizations to shifts. - -use std::intrinsics::*; - -type RGB = [u8; 3]; - -// CHECK-LABEL: @offset_from_odd_size -#[no_mangle] -pub unsafe fn offset_from_odd_size(a: *const RGB, b: *const RGB) -> isize { - // CHECK: start - // CHECK-NEXT: ptrtoint - // CHECK-NEXT: ptrtoint - // CHECK-NEXT: sub i64 - // CHECK-NEXT: sdiv exact i64 %{{[0-9]+}}, 3 - // CHECK-NEXT: ret i64 - ptr_offset_from(a, b) -} - -// CHECK-LABEL: @offset_from_unsigned_odd_size -#[no_mangle] -pub unsafe fn offset_from_unsigned_odd_size(a: *const RGB, b: *const RGB) -> usize { - // CHECK: start - // CHECK-NEXT: ptrtoint - // CHECK-NEXT: ptrtoint - // CHECK-NEXT: sub nuw i64 - // CHECK-NEXT: udiv exact i64 %{{[0-9]+}}, 3 - // CHECK-NEXT: ret i64 - ptr_offset_from_unsigned(a, b) -} |