We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 842adc2 commit 76f8e9aCopy full SHA for 76f8e9a
tests/assembly-llvm/regparm-module-flag.rs
@@ -0,0 +1,23 @@
1
+//@ assembly-output: emit-asm
2
+//@ compile-flags: -O -Zregparm=3 -Cunsafe-allow-abi-mismatch=regparm
3
+//@ only-x86
4
+
5
+#![crate_type = "lib"]
6
7
+use std::ffi::c_void;
8
9
+unsafe extern "C" {
10
+ fn memset(p: *mut c_void, val: i32, len: usize) -> *mut c_void;
11
+}
12
13
+#[unsafe(no_mangle)]
14
+pub unsafe extern "C" fn entrypoint(
15
+ len: usize, val: i32, ptr: *mut c_void
16
+) -> *mut c_void {
17
+ unsafe { memset(ptr, val, len) }
18
19
20
+// CHECK: mov{{.*}}eax
21
+// CHECK: mov{{.*}}ecx
22
+// CHECK: mov{{.*}}esi
23
+// CHECK: jmp{{.*}}memset
0 commit comments