aboutsummaryrefslogtreecommitdiff
path: root/examples/rust/Sum_over_array_(Aligned).rs
blob: f80d267f61622b7aa5888e0ddb9d74153edee797 (plain)
1
2
3
4
5
6
7
8
// Compile with -C opt-level=3 -C target-cpu=native to see autovectorization

#[repr(align(64))]
pub struct Aligned<T: ?Sized>(T);

pub fn sum_array(input: &Aligned<[i32]>) -> i32 {
    input.0.iter().sum()
}