// Verify that move before the call of the function with noalias, nocapture, readonly.
// #107436
//@ compile-flags: -O

#![crate_type = "lib"]

#[repr(C)]
pub struct ThreeSlices<'a>(&'a [u32], &'a [u32], &'a [u32]);

#[no_mangle]
pub fn sum_slices(val: ThreeSlices) -> u32 {
    // CHECK-NOT: memcpy
    let val = val;
    sum(&val)
}

#[no_mangle]
#[inline(never)]
pub fn sum(val: &ThreeSlices) -> u32 {
    val.0.iter().sum::<u32>() + val.1.iter().sum::<u32>() + val.2.iter().sum::<u32>()
}
