diff options
Diffstat (limited to 'tests/codegen-llvm/fixed-x18.rs')
| -rw-r--r-- | tests/codegen-llvm/fixed-x18.rs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/codegen-llvm/fixed-x18.rs b/tests/codegen-llvm/fixed-x18.rs new file mode 100644 index 00000000000..a5767cfa456 --- /dev/null +++ b/tests/codegen-llvm/fixed-x18.rs @@ -0,0 +1,23 @@ +// Test that the `reserve-x18` target feature is (not) emitted when +// the `-Zfixed-x18` flag is (not) set. + +//@ add-core-stubs +//@ revisions: unset set +//@ needs-llvm-components: aarch64 +//@ compile-flags: --target aarch64-unknown-none +//@ [set] compile-flags: -Zfixed-x18 + +#![crate_type = "lib"] +#![feature(no_core, lang_items)] +#![no_core] + +extern crate minicore; +use minicore::*; + +#[no_mangle] +pub fn foo() { + // CHECK: @foo() unnamed_addr #0 + + // unset-NOT: attributes #0 = { {{.*}}"target-features"="{{[^"]*}}+reserve-x18{{.*}} } + // set: attributes #0 = { {{.*}}"target-features"="{{[^"]*}}+reserve-x18{{.*}} } +} |
