// compile-flags: -O
// only-64bit (because we're using [ui]size)
// ignore-debug (because the assertions get in the way)
// min-llvm-version: 15.0 (because this is a relatively new instcombine)

#![crate_type = "lib"]
#![feature(slice_from_ptr_range)]

// This is intentionally using a non-power-of-two array length,
// as that's where the optimization differences show up

// CHECK-LABEL: @flatten_via_ptr_range
#[no_mangle]
pub fn flatten_via_ptr_range(slice_of_arrays: &[[i32; 13]]) -> &[i32] {
    // CHECK-NOT: lshr
    // CHECK-NOT: udiv
    // CHECK: mul nuw nsw i64 %{{.+}}, 13
    // CHECK-NOT: lshr
    // CHECK-NOT: udiv
    let r = slice_of_arrays.as_ptr_range();
    let r = r.start.cast()..r.end.cast();
    unsafe { core::slice::from_ptr_range(r) }
}
