2023-01-23 07:15:53 -06:00
|
|
|
// ignore-tidy-linelength
|
|
|
|
//@ revisions: ENABLE_SVE DISABLE_SVE DISABLE_NEON ENABLE_NEON
|
|
|
|
//@ compile-flags: --crate-type=rlib --target=aarch64-unknown-linux-gnu
|
|
|
|
//@ needs-llvm-components: aarch64
|
|
|
|
|
2024-08-09 13:24:55 -05:00
|
|
|
// The "+fpmr" feature is matched as optional as it is only an explicit
|
|
|
|
// feature in LLVM 18. Once the min supported version is LLVM-19 the optional
|
|
|
|
// regex matching for this feature can be removed.
|
2023-01-25 10:05:24 -06:00
|
|
|
|
2023-10-06 19:29:42 -05:00
|
|
|
//@ [ENABLE_SVE] compile-flags: -C target-feature=+sve -Copt-level=0
|
2024-08-09 13:24:55 -05:00
|
|
|
// ENABLE_SVE: attributes #0 = { {{.*}} "target-features"="{{((\+outline-atomics,?)|(\+v8a,?)|(\+fpmr,?)?|(\+sve,?)|(\+neon,?)|(\+fp-armv8,?))*}}" }
|
2023-01-23 07:15:53 -06:00
|
|
|
|
2023-10-06 19:29:42 -05:00
|
|
|
//@ [DISABLE_SVE] compile-flags: -C target-feature=-sve -Copt-level=0
|
2024-08-09 13:24:55 -05:00
|
|
|
// DISABLE_SVE: attributes #0 = { {{.*}} "target-features"="{{((\+outline-atomics,?)|(\+v8a,?)|(\+fpmr,?)?|(-sve,?)|(\+neon,?))*}}" }
|
2023-01-23 07:15:53 -06:00
|
|
|
|
2023-10-06 19:29:42 -05:00
|
|
|
//@ [DISABLE_NEON] compile-flags: -C target-feature=-neon -Copt-level=0
|
2024-08-09 13:24:55 -05:00
|
|
|
// DISABLE_NEON: attributes #0 = { {{.*}} "target-features"="{{((\+outline-atomics,?)|(\+v8a,?)|(\+fpmr,?)?|(-fp-armv8,?)|(-neon,?))*}}" }
|
2023-01-23 07:15:53 -06:00
|
|
|
|
2023-10-06 19:29:42 -05:00
|
|
|
//@ [ENABLE_NEON] compile-flags: -C target-feature=+neon -Copt-level=0
|
2024-08-09 13:24:55 -05:00
|
|
|
// ENABLE_NEON: attributes #0 = { {{.*}} "target-features"="{{((\+outline-atomics,?)|(\+v8a,?)|(\+fpmr,?)?|(\+fp-armv8,?)|(\+neon,?))*}}" }
|
2023-01-23 07:15:53 -06:00
|
|
|
|
|
|
|
#![feature(no_core, lang_items)]
|
|
|
|
#![no_core]
|
|
|
|
|
|
|
|
#[lang = "sized"]
|
|
|
|
trait Sized {}
|
|
|
|
|
|
|
|
pub fn test() {}
|