summaryrefslogtreecommitdiffstats
path: root/src/test/ui/target-feature/aarch64-neon-works.rs
blob: 3878806fd0270a5a13600e9ceb6d1988bfc98083 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// only-aarch64
// run-pass
#![allow(dead_code)]
use std::arch::*;
use std::arch::aarch64::*;

// Smoke test to verify aarch64 code that enables NEON compiles.
fn main() {
    let _zero = if is_aarch64_feature_detected!("neon") {
        unsafe {
            let zeros = zero_vector();
            vgetq_lane_u8::<1>(zeros)
        }
    } else {
        0
    };
}


#[target_feature(enable = "neon")]
unsafe fn zero_vector() -> uint8x16_t {
    vmovq_n_u8(0)
}