canonicalize loongarch clobbers

This commit is contained in:
Andrew Kelley 2025-07-15 18:48:46 -07:00
parent 15e5e5b2bc
commit 8a19eeb8af
4 changed files with 31 additions and 31 deletions

View File

@ -103,7 +103,7 @@ fn clear_cache(start: usize, end: usize) callconv(.c) void {
: [_] "{$2}" (165), // nr = SYS_sysarch : [_] "{$2}" (165), // nr = SYS_sysarch
[_] "{$4}" (0), // op = MIPS_CACHEFLUSH [_] "{$4}" (0), // op = MIPS_CACHEFLUSH
[_] "{$5}" (&cfa), // args = &cfa [_] "{$5}" (&cfa), // args = &cfa
: .{ .@"r1" = true, .@"r2" = true, .@"r3" = true, .@"r4" = true, .@"r5" = true, .@"r6" = true, .@"r7" = true, .@"r8" = true, .@"r9" = true, .@"r10" = true, .@"r11" = true, .@"r12" = true, .@"r13" = true, .@"r14" = true, .@"r15" = true, .@"r24" = true, .@"r25" = true, .hi = true, .lo = true, .memory = true }); : .{ .r1 = true, .r2 = true, .r3 = true, .r4 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true });
exportIt(); exportIt();
} else if (mips and os == .openbsd) { } else if (mips and os == .openbsd) {
// TODO // TODO

View File

@ -17,7 +17,7 @@ pub fn syscall0(number: SYS) usize {
\\ syscall 0 \\ syscall 0
: [ret] "={$r4}" (-> usize), : [ret] "={$r4}" (-> usize),
: [number] "{$r11}" (@intFromEnum(number)), : [number] "{$r11}" (@intFromEnum(number)),
: .{ .@"$t0" = true, .@"$t1" = true, .@"$t2" = true, .@"$t3" = true, .@"$t4" = true, .@"$t5" = true, .@"$t6" = true, .@"$t7" = true, .@"$t8" = true, .memory = true }); : .{ .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r16 = true, .r17 = true, .r18 = true, .r19 = true, .r20 = true, .memory = true });
} }
pub fn syscall1(number: SYS, arg1: usize) usize { pub fn syscall1(number: SYS, arg1: usize) usize {
@ -26,7 +26,7 @@ pub fn syscall1(number: SYS, arg1: usize) usize {
: [ret] "={$r4}" (-> usize), : [ret] "={$r4}" (-> usize),
: [number] "{$r11}" (@intFromEnum(number)), : [number] "{$r11}" (@intFromEnum(number)),
[arg1] "{$r4}" (arg1), [arg1] "{$r4}" (arg1),
: .{ .@"$t0" = true, .@"$t1" = true, .@"$t2" = true, .@"$t3" = true, .@"$t4" = true, .@"$t5" = true, .@"$t6" = true, .@"$t7" = true, .@"$t8" = true, .memory = true }); : .{ .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r16 = true, .r17 = true, .r18 = true, .r19 = true, .r20 = true, .memory = true });
} }
pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize { pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
@ -36,7 +36,7 @@ pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
: [number] "{$r11}" (@intFromEnum(number)), : [number] "{$r11}" (@intFromEnum(number)),
[arg1] "{$r4}" (arg1), [arg1] "{$r4}" (arg1),
[arg2] "{$r5}" (arg2), [arg2] "{$r5}" (arg2),
: .{ .@"$t0" = true, .@"$t1" = true, .@"$t2" = true, .@"$t3" = true, .@"$t4" = true, .@"$t5" = true, .@"$t6" = true, .@"$t7" = true, .@"$t8" = true, .memory = true }); : .{ .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r16 = true, .r17 = true, .r18 = true, .r19 = true, .r20 = true, .memory = true });
} }
pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize { pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
@ -47,7 +47,7 @@ pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
[arg1] "{$r4}" (arg1), [arg1] "{$r4}" (arg1),
[arg2] "{$r5}" (arg2), [arg2] "{$r5}" (arg2),
[arg3] "{$r6}" (arg3), [arg3] "{$r6}" (arg3),
: .{ .@"$t0" = true, .@"$t1" = true, .@"$t2" = true, .@"$t3" = true, .@"$t4" = true, .@"$t5" = true, .@"$t6" = true, .@"$t7" = true, .@"$t8" = true, .memory = true }); : .{ .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r16 = true, .r17 = true, .r18 = true, .r19 = true, .r20 = true, .memory = true });
} }
pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize) usize { pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize) usize {
@ -59,7 +59,7 @@ pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize)
[arg2] "{$r5}" (arg2), [arg2] "{$r5}" (arg2),
[arg3] "{$r6}" (arg3), [arg3] "{$r6}" (arg3),
[arg4] "{$r7}" (arg4), [arg4] "{$r7}" (arg4),
: .{ .@"$t0" = true, .@"$t1" = true, .@"$t2" = true, .@"$t3" = true, .@"$t4" = true, .@"$t5" = true, .@"$t6" = true, .@"$t7" = true, .@"$t8" = true, .memory = true }); : .{ .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r16 = true, .r17 = true, .r18 = true, .r19 = true, .r20 = true, .memory = true });
} }
pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize) usize { pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize) usize {
@ -72,7 +72,7 @@ pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize,
[arg3] "{$r6}" (arg3), [arg3] "{$r6}" (arg3),
[arg4] "{$r7}" (arg4), [arg4] "{$r7}" (arg4),
[arg5] "{$r8}" (arg5), [arg5] "{$r8}" (arg5),
: .{ .@"$t0" = true, .@"$t1" = true, .@"$t2" = true, .@"$t3" = true, .@"$t4" = true, .@"$t5" = true, .@"$t6" = true, .@"$t7" = true, .@"$t8" = true, .memory = true }); : .{ .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r16 = true, .r17 = true, .r18 = true, .r19 = true, .r20 = true, .memory = true });
} }
pub fn syscall6( pub fn syscall6(
@ -94,7 +94,7 @@ pub fn syscall6(
[arg4] "{$r7}" (arg4), [arg4] "{$r7}" (arg4),
[arg5] "{$r8}" (arg5), [arg5] "{$r8}" (arg5),
[arg6] "{$r9}" (arg6), [arg6] "{$r9}" (arg6),
: .{ .@"$t0" = true, .@"$t1" = true, .@"$t2" = true, .@"$t3" = true, .@"$t4" = true, .@"$t5" = true, .@"$t6" = true, .@"$t7" = true, .@"$t8" = true, .memory = true }); : .{ .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r16 = true, .r17 = true, .r18 = true, .r19 = true, .r20 = true, .memory = true });
} }
pub fn clone() callconv(.naked) usize { pub fn clone() callconv(.naked) usize {
@ -143,7 +143,7 @@ pub fn restore_rt() callconv(.naked) noreturn {
\\ syscall 0 \\ syscall 0
: :
: [number] "r" (@intFromEnum(SYS.rt_sigreturn)), : [number] "r" (@intFromEnum(SYS.rt_sigreturn)),
: .{ .@"$t0" = true, .@"$t1" = true, .@"$t2" = true, .@"$t3" = true, .@"$t4" = true, .@"$t5" = true, .@"$t6" = true, .@"$t7" = true, .@"$t8" = true, .memory = true }); : .{ .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r16 = true, .r17 = true, .r18 = true, .r19 = true, .r20 = true, .memory = true });
} }
pub const msghdr = extern struct { pub const msghdr = extern struct {

View File

@ -21,7 +21,7 @@ pub fn syscall0(number: SYS) usize {
\\ 1: \\ 1:
: [ret] "={$2}" (-> usize), : [ret] "={$2}" (-> usize),
: [number] "{$2}" (@intFromEnum(number)), : [number] "{$2}" (@intFromEnum(number)),
: .{ .@"r1" = true, .@"r3" = true, .@"r4" = true, .@"r5" = true, .@"r6" = true, .@"r7" = true, .@"r8" = true, .@"r9" = true, .@"r10" = true, .@"r11" = true, .@"r12" = true, .@"r13" = true, .@"r14" = true, .@"r15" = true, .@"r24" = true, .@"r25" = true, .hi = true, .lo = true, .memory = true }); : .{ .r1 = true, .r3 = true, .r4 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true });
} }
pub fn syscall_pipe(fd: *[2]i32) usize { pub fn syscall_pipe(fd: *[2]i32) usize {
@ -40,7 +40,7 @@ pub fn syscall_pipe(fd: *[2]i32) usize {
: [ret] "={$2}" (-> usize), : [ret] "={$2}" (-> usize),
: [number] "{$2}" (@intFromEnum(SYS.pipe)), : [number] "{$2}" (@intFromEnum(SYS.pipe)),
[fd] "{$4}" (fd), [fd] "{$4}" (fd),
: .{ .@"r1" = true, .@"r3" = true, .@"r5" = true, .@"r6" = true, .@"r7" = true, .@"r8" = true, .@"r9" = true, .@"r10" = true, .@"r11" = true, .@"r12" = true, .@"r13" = true, .@"r14" = true, .@"r15" = true, .@"r24" = true, .@"r25" = true, .hi = true, .lo = true, .memory = true }); : .{ .r1 = true, .r3 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true });
} }
pub fn syscall1(number: SYS, arg1: usize) usize { pub fn syscall1(number: SYS, arg1: usize) usize {
@ -53,7 +53,7 @@ pub fn syscall1(number: SYS, arg1: usize) usize {
: [ret] "={$2}" (-> usize), : [ret] "={$2}" (-> usize),
: [number] "{$2}" (@intFromEnum(number)), : [number] "{$2}" (@intFromEnum(number)),
[arg1] "{$4}" (arg1), [arg1] "{$4}" (arg1),
: .{ .@"r1" = true, .@"r3" = true, .@"r5" = true, .@"r6" = true, .@"r7" = true, .@"r8" = true, .@"r9" = true, .@"r10" = true, .@"r11" = true, .@"r12" = true, .@"r13" = true, .@"r14" = true, .@"r15" = true, .@"r24" = true, .@"r25" = true, .hi = true, .lo = true, .memory = true }); : .{ .r1 = true, .r3 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true });
} }
pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize { pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
@ -67,7 +67,7 @@ pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
: [number] "{$2}" (@intFromEnum(number)), : [number] "{$2}" (@intFromEnum(number)),
[arg1] "{$4}" (arg1), [arg1] "{$4}" (arg1),
[arg2] "{$5}" (arg2), [arg2] "{$5}" (arg2),
: .{ .@"r1" = true, .@"r3" = true, .@"r6" = true, .@"r7" = true, .@"r8" = true, .@"r9" = true, .@"r10" = true, .@"r11" = true, .@"r12" = true, .@"r13" = true, .@"r14" = true, .@"r15" = true, .@"r24" = true, .@"r25" = true, .hi = true, .lo = true, .memory = true }); : .{ .r1 = true, .r3 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true });
} }
pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize { pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
@ -82,7 +82,7 @@ pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
[arg1] "{$4}" (arg1), [arg1] "{$4}" (arg1),
[arg2] "{$5}" (arg2), [arg2] "{$5}" (arg2),
[arg3] "{$6}" (arg3), [arg3] "{$6}" (arg3),
: .{ .@"r1" = true, .@"r3" = true, .@"r7" = true, .@"r8" = true, .@"r9" = true, .@"r10" = true, .@"r11" = true, .@"r12" = true, .@"r13" = true, .@"r14" = true, .@"r15" = true, .@"r24" = true, .@"r25" = true, .hi = true, .lo = true, .memory = true }); : .{ .r1 = true, .r3 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true });
} }
pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize) usize { pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize) usize {
@ -98,7 +98,7 @@ pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize)
[arg2] "{$5}" (arg2), [arg2] "{$5}" (arg2),
[arg3] "{$6}" (arg3), [arg3] "{$6}" (arg3),
[arg4] "{$7}" (arg4), [arg4] "{$7}" (arg4),
: .{ .@"r1" = true, .@"r3" = true, .@"r8" = true, .@"r9" = true, .@"r10" = true, .@"r11" = true, .@"r12" = true, .@"r13" = true, .@"r14" = true, .@"r15" = true, .@"r24" = true, .@"r25" = true, .hi = true, .lo = true, .memory = true }); : .{ .r1 = true, .r3 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true });
} }
pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize) usize { pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize) usize {
@ -119,7 +119,7 @@ pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize,
[arg3] "{$6}" (arg3), [arg3] "{$6}" (arg3),
[arg4] "{$7}" (arg4), [arg4] "{$7}" (arg4),
[arg5] "r" (arg5), [arg5] "r" (arg5),
: .{ .@"r1" = true, .@"r3" = true, .@"r8" = true, .@"r9" = true, .@"r10" = true, .@"r11" = true, .@"r12" = true, .@"r13" = true, .@"r14" = true, .@"r15" = true, .@"r24" = true, .@"r25" = true, .hi = true, .lo = true, .memory = true }); : .{ .r1 = true, .r3 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true });
} }
// NOTE: The o32 calling convention requires the callee to reserve 16 bytes for // NOTE: The o32 calling convention requires the callee to reserve 16 bytes for
@ -153,7 +153,7 @@ pub fn syscall6(
[arg4] "{$7}" (arg4), [arg4] "{$7}" (arg4),
[arg5] "r" (arg5), [arg5] "r" (arg5),
[arg6] "r" (arg6), [arg6] "r" (arg6),
: .{ .@"r1" = true, .@"r3" = true, .@"r8" = true, .@"r9" = true, .@"r10" = true, .@"r11" = true, .@"r12" = true, .@"r13" = true, .@"r14" = true, .@"r15" = true, .@"r24" = true, .@"r25" = true, .hi = true, .lo = true, .memory = true }); : .{ .r1 = true, .r3 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true });
} }
pub fn syscall7( pub fn syscall7(
@ -187,7 +187,7 @@ pub fn syscall7(
[arg5] "r" (arg5), [arg5] "r" (arg5),
[arg6] "r" (arg6), [arg6] "r" (arg6),
[arg7] "r" (arg7), [arg7] "r" (arg7),
: .{ .@"r1" = true, .@"r3" = true, .@"r8" = true, .@"r9" = true, .@"r10" = true, .@"r11" = true, .@"r12" = true, .@"r13" = true, .@"r14" = true, .@"r15" = true, .@"r24" = true, .@"r25" = true, .hi = true, .lo = true, .memory = true }); : .{ .r1 = true, .r3 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true });
} }
pub fn clone() callconv(.naked) usize { pub fn clone() callconv(.naked) usize {
@ -246,7 +246,7 @@ pub fn restore() callconv(.naked) noreturn {
\\ syscall \\ syscall
: :
: [number] "{$2}" (@intFromEnum(SYS.sigreturn)), : [number] "{$2}" (@intFromEnum(SYS.sigreturn)),
: .{ .@"r1" = true, .@"r3" = true, .@"r4" = true, .@"r5" = true, .@"r6" = true, .@"r7" = true, .@"r8" = true, .@"r9" = true, .@"r10" = true, .@"r11" = true, .@"r12" = true, .@"r13" = true, .@"r14" = true, .@"r15" = true, .@"r24" = true, .@"r25" = true, .hi = true, .lo = true, .memory = true }); : .{ .r1 = true, .r3 = true, .r4 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true });
} }
pub fn restore_rt() callconv(.naked) noreturn { pub fn restore_rt() callconv(.naked) noreturn {
@ -254,7 +254,7 @@ pub fn restore_rt() callconv(.naked) noreturn {
\\ syscall \\ syscall
: :
: [number] "{$2}" (@intFromEnum(SYS.rt_sigreturn)), : [number] "{$2}" (@intFromEnum(SYS.rt_sigreturn)),
: .{ .@"r1" = true, .@"r3" = true, .@"r4" = true, .@"r5" = true, .@"r6" = true, .@"r7" = true, .@"r8" = true, .@"r9" = true, .@"r10" = true, .@"r11" = true, .@"r12" = true, .@"r13" = true, .@"r14" = true, .@"r15" = true, .@"r24" = true, .@"r25" = true, .hi = true, .lo = true, .memory = true }); : .{ .r1 = true, .r3 = true, .r4 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true });
} }
pub const F = struct { pub const F = struct {

View File

@ -21,7 +21,7 @@ pub fn syscall0(number: SYS) usize {
\\ 1: \\ 1:
: [ret] "={$2}" (-> usize), : [ret] "={$2}" (-> usize),
: [number] "{$2}" (@intFromEnum(number)), : [number] "{$2}" (@intFromEnum(number)),
: .{ .@"r1" = true, .@"r3" = true, .@"r4" = true, .@"r5" = true, .@"r6" = true, .@"r7" = true, .@"r8" = true, .@"r9" = true, .@"r10" = true, .@"r11" = true, .@"r12" = true, .@"r13" = true, .@"r14" = true, .@"r15" = true, .@"r24" = true, .@"r25" = true, .hi = true, .lo = true, .memory = true }); : .{ .r1 = true, .r3 = true, .r4 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true });
} }
pub fn syscall_pipe(fd: *[2]i32) usize { pub fn syscall_pipe(fd: *[2]i32) usize {
@ -40,7 +40,7 @@ pub fn syscall_pipe(fd: *[2]i32) usize {
: [ret] "={$2}" (-> usize), : [ret] "={$2}" (-> usize),
: [number] "{$2}" (@intFromEnum(SYS.pipe)), : [number] "{$2}" (@intFromEnum(SYS.pipe)),
[fd] "{$4}" (fd), [fd] "{$4}" (fd),
: .{ .@"r1" = true, .@"r3" = true, .@"r5" = true, .@"r6" = true, .@"r7" = true, .@"r8" = true, .@"r9" = true, .@"r10" = true, .@"r11" = true, .@"r12" = true, .@"r13" = true, .@"r14" = true, .@"r15" = true, .@"r24" = true, .@"r25" = true, .hi = true, .lo = true, .memory = true }); : .{ .r1 = true, .r3 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true });
} }
pub fn syscall1(number: SYS, arg1: usize) usize { pub fn syscall1(number: SYS, arg1: usize) usize {
@ -54,7 +54,7 @@ pub fn syscall1(number: SYS, arg1: usize) usize {
: [ret] "={$2}" (-> usize), : [ret] "={$2}" (-> usize),
: [number] "{$2}" (@intFromEnum(number)), : [number] "{$2}" (@intFromEnum(number)),
[arg1] "{$4}" (arg1), [arg1] "{$4}" (arg1),
: .{ .@"r1" = true, .@"r3" = true, .@"r5" = true, .@"r6" = true, .@"r7" = true, .@"r8" = true, .@"r9" = true, .@"r10" = true, .@"r11" = true, .@"r12" = true, .@"r13" = true, .@"r14" = true, .@"r15" = true, .@"r24" = true, .@"r25" = true, .hi = true, .lo = true, .memory = true }); : .{ .r1 = true, .r3 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true });
} }
pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize { pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
@ -68,7 +68,7 @@ pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
: [number] "{$2}" (@intFromEnum(number)), : [number] "{$2}" (@intFromEnum(number)),
[arg1] "{$4}" (arg1), [arg1] "{$4}" (arg1),
[arg2] "{$5}" (arg2), [arg2] "{$5}" (arg2),
: .{ .@"r1" = true, .@"r3" = true, .@"r6" = true, .@"r7" = true, .@"r8" = true, .@"r9" = true, .@"r10" = true, .@"r11" = true, .@"r12" = true, .@"r13" = true, .@"r14" = true, .@"r15" = true, .@"r24" = true, .@"r25" = true, .hi = true, .lo = true, .memory = true }); : .{ .r1 = true, .r3 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true });
} }
pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize { pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
@ -83,7 +83,7 @@ pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
[arg1] "{$4}" (arg1), [arg1] "{$4}" (arg1),
[arg2] "{$5}" (arg2), [arg2] "{$5}" (arg2),
[arg3] "{$6}" (arg3), [arg3] "{$6}" (arg3),
: .{ .@"r1" = true, .@"r3" = true, .@"r7" = true, .@"r8" = true, .@"r9" = true, .@"r10" = true, .@"r11" = true, .@"r12" = true, .@"r13" = true, .@"r14" = true, .@"r15" = true, .@"r24" = true, .@"r25" = true, .hi = true, .lo = true, .memory = true }); : .{ .r1 = true, .r3 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true });
} }
pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize) usize { pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize) usize {
@ -99,7 +99,7 @@ pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize)
[arg2] "{$5}" (arg2), [arg2] "{$5}" (arg2),
[arg3] "{$6}" (arg3), [arg3] "{$6}" (arg3),
[arg4] "{$7}" (arg4), [arg4] "{$7}" (arg4),
: .{ .@"r1" = true, .@"r3" = true, .@"r8" = true, .@"r9" = true, .@"r10" = true, .@"r11" = true, .@"r12" = true, .@"r13" = true, .@"r14" = true, .@"r15" = true, .@"r24" = true, .@"r25" = true, .hi = true, .lo = true, .memory = true }); : .{ .r1 = true, .r3 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true });
} }
pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize) usize { pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize) usize {
@ -116,7 +116,7 @@ pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize,
[arg3] "{$6}" (arg3), [arg3] "{$6}" (arg3),
[arg4] "{$7}" (arg4), [arg4] "{$7}" (arg4),
[arg5] "{$8}" (arg5), [arg5] "{$8}" (arg5),
: .{ .@"r1" = true, .@"r3" = true, .@"r8" = true, .@"r9" = true, .@"r10" = true, .@"r11" = true, .@"r12" = true, .@"r13" = true, .@"r14" = true, .@"r15" = true, .@"r24" = true, .@"r25" = true, .hi = true, .lo = true, .memory = true }); : .{ .r1 = true, .r3 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true });
} }
pub fn syscall6( pub fn syscall6(
@ -142,7 +142,7 @@ pub fn syscall6(
[arg4] "{$7}" (arg4), [arg4] "{$7}" (arg4),
[arg5] "{$8}" (arg5), [arg5] "{$8}" (arg5),
[arg6] "{$9}" (arg6), [arg6] "{$9}" (arg6),
: .{ .@"r1" = true, .@"r3" = true, .@"r8" = true, .@"r9" = true, .@"r10" = true, .@"r11" = true, .@"r12" = true, .@"r13" = true, .@"r14" = true, .@"r15" = true, .@"r24" = true, .@"r25" = true, .hi = true, .lo = true, .memory = true }); : .{ .r1 = true, .r3 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true });
} }
pub fn syscall7( pub fn syscall7(
@ -170,7 +170,7 @@ pub fn syscall7(
[arg5] "{$8}" (arg5), [arg5] "{$8}" (arg5),
[arg6] "{$9}" (arg6), [arg6] "{$9}" (arg6),
[arg7] "{$10}" (arg7), [arg7] "{$10}" (arg7),
: .{ .@"r1" = true, .@"r3" = true, .@"r8" = true, .@"r9" = true, .@"r10" = true, .@"r11" = true, .@"r12" = true, .@"r13" = true, .@"r14" = true, .@"r15" = true, .@"r24" = true, .@"r25" = true, .hi = true, .lo = true, .memory = true }); : .{ .r1 = true, .r3 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true });
} }
pub fn clone() callconv(.naked) usize { pub fn clone() callconv(.naked) usize {
@ -225,7 +225,7 @@ pub fn restore() callconv(.naked) noreturn {
\\ syscall \\ syscall
: :
: [number] "{$2}" (@intFromEnum(SYS.rt_sigreturn)), : [number] "{$2}" (@intFromEnum(SYS.rt_sigreturn)),
: .{ .@"r1" = true, .@"r3" = true, .@"r4" = true, .@"r5" = true, .@"r6" = true, .@"r7" = true, .@"r8" = true, .@"r9" = true, .@"r10" = true, .@"r11" = true, .@"r12" = true, .@"r13" = true, .@"r14" = true, .@"r15" = true, .@"r24" = true, .@"r25" = true, .hi = true, .lo = true, .memory = true }); : .{ .r1 = true, .r3 = true, .r4 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true });
} }
pub fn restore_rt() callconv(.naked) noreturn { pub fn restore_rt() callconv(.naked) noreturn {
@ -233,7 +233,7 @@ pub fn restore_rt() callconv(.naked) noreturn {
\\ syscall \\ syscall
: :
: [number] "{$2}" (@intFromEnum(SYS.rt_sigreturn)), : [number] "{$2}" (@intFromEnum(SYS.rt_sigreturn)),
: .{ .@"r1" = true, .@"r3" = true, .@"r4" = true, .@"r5" = true, .@"r6" = true, .@"r7" = true, .@"r8" = true, .@"r9" = true, .@"r10" = true, .@"r11" = true, .@"r12" = true, .@"r13" = true, .@"r14" = true, .@"r15" = true, .@"r24" = true, .@"r25" = true, .hi = true, .lo = true, .memory = true }); : .{ .r1 = true, .r3 = true, .r4 = true, .r5 = true, .r6 = true, .r7 = true, .r8 = true, .r9 = true, .r10 = true, .r11 = true, .r12 = true, .r13 = true, .r14 = true, .r15 = true, .r24 = true, .r25 = true, .hi = true, .lo = true, .memory = true });
} }
pub const F = struct { pub const F = struct {