rust/tests/ui/target-feature/aarch64-neon-works.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

24 lines
463 B
Rust
Raw Normal View History

// only-aarch64
// run-pass
2022-03-22 20:11:21 -05:00
#![allow(dead_code)]
use std::arch::*;
use std::arch::aarch64::*;
// Smoke test to verify aarch64 code that enables NEON compiles.
fn main() {
2022-03-22 20:11:21 -05:00
let _zero = if is_aarch64_feature_detected!("neon") {
unsafe {
let zeros = zero_vector();
2022-03-22 20:11:21 -05:00
vgetq_lane_u8::<1>(zeros)
}
} else {
0
};
}
#[target_feature(enable = "neon")]
unsafe fn zero_vector() -> uint8x16_t {
vmovq_n_u8(0)
}