about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJamie Hill-Daniel <jamie@hill-daniel.co.uk>2025-08-26 13:44:00 +0000
committerJamie Hill-Daniel <jamie@hill-daniel.co.uk>2025-08-26 13:44:00 +0000
commitf9c765ed76bcaa9aa2ccc902e61e3de91ec96837 (patch)
treeaf871c8bd4641138cc0f3c31f183b4f9bc617aec
parent21e9889306e221f3ba85d4ae17b4ab56d6ddb17e (diff)
downloadrust-f9c765ed76bcaa9aa2ccc902e61e3de91ec96837.tar.gz
rust-f9c765ed76bcaa9aa2ccc902e61e3de91ec96837.zip
Test `instrument-mcount`
-rw-r--r--tests/assembly-llvm/x86_64-mcount.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/assembly-llvm/x86_64-mcount.rs b/tests/assembly-llvm/x86_64-mcount.rs
new file mode 100644
index 00000000000..0428272cfc5
--- /dev/null
+++ b/tests/assembly-llvm/x86_64-mcount.rs
@@ -0,0 +1,24 @@
+//@ assembly-output: emit-asm
+//@ compile-flags: -Zinstrument-mcount=y -Cllvm-args=-x86-asm-syntax=intel
+
+//@ revisions: x86_64-linux
+//@[x86_64-linux] compile-flags: --target=x86_64-unknown-linux-gnu
+//@[x86_64-linux] needs-llvm-components: x86
+//@[x86_64-linux] only-x86_64-unknown-linux-gnu
+
+//@ revisions: x86_64-darwin
+//@[x86_64-darwin] compile-flags: --target=x86_64-apple-darwin
+//@[x86_64-darwin] needs-llvm-components: x86
+//@[x86_64-darwin] only-x86_64-apple-darwin
+
+#![crate_type = "lib"]
+
+// CHECK-LABEL: mcount_func:
+#[no_mangle]
+pub fn mcount_func() {
+    // CHECK: call mcount
+
+    std::hint::black_box(());
+
+    // CHECK: ret
+}