commit 95e135a8cb614f1ef8a8bbe38717fc533c2c2cef (tree)
parent fca776f8f5f6c31e66ddf8e858483b718618fbdf
Author: Mitchell Hashimoto <mitchell.hashimoto@gmail.com>
Date: Mon, 24 Oct 2022 15:30:00 -0700
std: valgrind client request support for aarch64
Diffstat:
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/lib/std/valgrind.zig b/lib/std/valgrind.zig
@@ -30,10 +30,23 @@ pub fn doClientRequest(default: usize, request: usize, a1: usize, a2: usize, a3:
: "cc", "memory"
);
},
+ .aarch64 => {
+ return asm volatile (
+ \\ mov x3, %[default]
+ \\ mov x4, %[ptr]
+ \\ ror x12, x12, #3 ; ror x12, x12, #13
+ \\ ror x12, x12, #51 ; ror x12, x12, #61
+ \\ orr x10, x10, x10
+ \\ mov %[ret], x3
+ : [ret] "=r" (-> usize),
+ : [default] "r" (default),
+ [ptr] "r" (&[_]usize{ request, a1, a2, a3, a4, a5 }),
+ : "cc", "memory", "x3", "x4"
+ );
+ },
// ppc32
// ppc64
// arm
- // arm64
// s390x
// mips32
// mips64