diff options
| author | Jubilee Young <workingjubilee@gmail.com> | 2022-03-22 14:24:59 -0700 |
|---|---|---|
| committer | Jubilee Young <workingjubilee@gmail.com> | 2022-03-22 15:20:07 -0700 |
| commit | 7d6415c29102043a53b1f2e02d36767d6c450480 (patch) | |
| tree | e379d050d51e97884396e7c33bdb032b8642fb4c | |
| parent | 990c297ffb86af3d6d80172effcee8fb8b83e304 (diff) | |
| download | rust-7d6415c29102043a53b1f2e02d36767d6c450480.tar.gz rust-7d6415c29102043a53b1f2e02d36767d6c450480.zip | |
Test NEON compiles
Required by https://github.com/rust-lang/rust/issues/95002
| -rw-r--r-- | src/test/ui/target-feature/aarch64-neon-works.rs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/test/ui/target-feature/aarch64-neon-works.rs b/src/test/ui/target-feature/aarch64-neon-works.rs new file mode 100644 index 00000000000..7ddcfe7b290 --- /dev/null +++ b/src/test/ui/target-feature/aarch64-neon-works.rs @@ -0,0 +1,24 @@ +// only-aarch64 +// run-pass +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(); + vget_lane_u8::<1>(1) + } + } else { + 0 + }; + if cfg!(target feature = "neon") { + assert_eq!(zero, 0) + }; +} + + +#[target_feature(enable = "neon")] +unsafe fn zero_vector() -> uint8x16_t { + vmovq_n_u8(0) +} |
