fix mips inline asm

wtf are these dollar signs?
This commit is contained in:
Andrew Kelley 2025-07-15 17:15:58 -07:00
parent 3628137442
commit 15e5e5b2bc
3 changed files with 23 additions and 23 deletions

View File

@ -103,7 +103,7 @@ fn clear_cache(start: usize, end: usize) callconv(.c) void {
: [_] "{$2}" (165), // nr = SYS_sysarch
[_] "{$4}" (0), // op = MIPS_CACHEFLUSH
[_] "{$5}" (&cfa), // args = &cfa
: .{ .@"$1" = true, .@"$2" = true, .@"$3" = true, .@"$4" = true, .@"$5" = true, .@"$6" = true, .@"$7" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = 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();
} else if (mips and os == .openbsd) {
// TODO

View File

@ -21,7 +21,7 @@ pub fn syscall0(number: SYS) usize {
\\ 1:
: [ret] "={$2}" (-> usize),
: [number] "{$2}" (@intFromEnum(number)),
: .{ .@"$1" = true, .@"$3" = true, .@"$4" = true, .@"$5" = true, .@"$6" = true, .@"$7" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = 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 {
@ -40,7 +40,7 @@ pub fn syscall_pipe(fd: *[2]i32) usize {
: [ret] "={$2}" (-> usize),
: [number] "{$2}" (@intFromEnum(SYS.pipe)),
[fd] "{$4}" (fd),
: .{ .@"$1" = true, .@"$3" = true, .@"$5" = true, .@"$6" = true, .@"$7" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = 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 {
@ -53,7 +53,7 @@ pub fn syscall1(number: SYS, arg1: usize) usize {
: [ret] "={$2}" (-> usize),
: [number] "{$2}" (@intFromEnum(number)),
[arg1] "{$4}" (arg1),
: .{ .@"$1" = true, .@"$3" = true, .@"$5" = true, .@"$6" = true, .@"$7" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = 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 {
@ -67,7 +67,7 @@ pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
: [number] "{$2}" (@intFromEnum(number)),
[arg1] "{$4}" (arg1),
[arg2] "{$5}" (arg2),
: .{ .@"$1" = true, .@"$3" = true, .@"$6" = true, .@"$7" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = 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 {
@ -82,7 +82,7 @@ pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
[arg1] "{$4}" (arg1),
[arg2] "{$5}" (arg2),
[arg3] "{$6}" (arg3),
: .{ .@"$1" = true, .@"$3" = true, .@"$7" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = 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 {
@ -98,7 +98,7 @@ pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize)
[arg2] "{$5}" (arg2),
[arg3] "{$6}" (arg3),
[arg4] "{$7}" (arg4),
: .{ .@"$1" = true, .@"$3" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = 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 {
@ -119,7 +119,7 @@ pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize,
[arg3] "{$6}" (arg3),
[arg4] "{$7}" (arg4),
[arg5] "r" (arg5),
: .{ .@"$1" = true, .@"$3" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = 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
@ -153,7 +153,7 @@ pub fn syscall6(
[arg4] "{$7}" (arg4),
[arg5] "r" (arg5),
[arg6] "r" (arg6),
: .{ .@"$1" = true, .@"$3" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = 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(
@ -187,7 +187,7 @@ pub fn syscall7(
[arg5] "r" (arg5),
[arg6] "r" (arg6),
[arg7] "r" (arg7),
: .{ .@"$1" = true, .@"$3" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = 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 {
@ -246,7 +246,7 @@ pub fn restore() callconv(.naked) noreturn {
\\ syscall
:
: [number] "{$2}" (@intFromEnum(SYS.sigreturn)),
: .{ .@"$1" = true, .@"$3" = true, .@"$4" = true, .@"$5" = true, .@"$6" = true, .@"$7" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = 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 {
@ -254,7 +254,7 @@ pub fn restore_rt() callconv(.naked) noreturn {
\\ syscall
:
: [number] "{$2}" (@intFromEnum(SYS.rt_sigreturn)),
: .{ .@"$1" = true, .@"$3" = true, .@"$4" = true, .@"$5" = true, .@"$6" = true, .@"$7" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = 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 {

View File

@ -21,7 +21,7 @@ pub fn syscall0(number: SYS) usize {
\\ 1:
: [ret] "={$2}" (-> usize),
: [number] "{$2}" (@intFromEnum(number)),
: .{ .@"$1" = true, .@"$3" = true, .@"$4" = true, .@"$5" = true, .@"$6" = true, .@"$7" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = 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 {
@ -40,7 +40,7 @@ pub fn syscall_pipe(fd: *[2]i32) usize {
: [ret] "={$2}" (-> usize),
: [number] "{$2}" (@intFromEnum(SYS.pipe)),
[fd] "{$4}" (fd),
: .{ .@"$1" = true, .@"$3" = true, .@"$5" = true, .@"$6" = true, .@"$7" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = 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 {
@ -54,7 +54,7 @@ pub fn syscall1(number: SYS, arg1: usize) usize {
: [ret] "={$2}" (-> usize),
: [number] "{$2}" (@intFromEnum(number)),
[arg1] "{$4}" (arg1),
: .{ .@"$1" = true, .@"$3" = true, .@"$5" = true, .@"$6" = true, .@"$7" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = 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 {
@ -68,7 +68,7 @@ pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
: [number] "{$2}" (@intFromEnum(number)),
[arg1] "{$4}" (arg1),
[arg2] "{$5}" (arg2),
: .{ .@"$1" = true, .@"$3" = true, .@"$6" = true, .@"$7" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = 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 {
@ -83,7 +83,7 @@ pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
[arg1] "{$4}" (arg1),
[arg2] "{$5}" (arg2),
[arg3] "{$6}" (arg3),
: .{ .@"$1" = true, .@"$3" = true, .@"$7" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = 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 {
@ -99,7 +99,7 @@ pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize)
[arg2] "{$5}" (arg2),
[arg3] "{$6}" (arg3),
[arg4] "{$7}" (arg4),
: .{ .@"$1" = true, .@"$3" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = 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 {
@ -116,7 +116,7 @@ pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize,
[arg3] "{$6}" (arg3),
[arg4] "{$7}" (arg4),
[arg5] "{$8}" (arg5),
: .{ .@"$1" = true, .@"$3" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = 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(
@ -142,7 +142,7 @@ pub fn syscall6(
[arg4] "{$7}" (arg4),
[arg5] "{$8}" (arg5),
[arg6] "{$9}" (arg6),
: .{ .@"$1" = true, .@"$3" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = 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(
@ -170,7 +170,7 @@ pub fn syscall7(
[arg5] "{$8}" (arg5),
[arg6] "{$9}" (arg6),
[arg7] "{$10}" (arg7),
: .{ .@"$1" = true, .@"$3" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = 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 {
@ -225,7 +225,7 @@ pub fn restore() callconv(.naked) noreturn {
\\ syscall
:
: [number] "{$2}" (@intFromEnum(SYS.rt_sigreturn)),
: .{ .@"$1" = true, .@"$3" = true, .@"$4" = true, .@"$5" = true, .@"$6" = true, .@"$7" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = 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 {
@ -233,7 +233,7 @@ pub fn restore_rt() callconv(.naked) noreturn {
\\ syscall
:
: [number] "{$2}" (@intFromEnum(SYS.rt_sigreturn)),
: .{ .@"$1" = true, .@"$3" = true, .@"$4" = true, .@"$5" = true, .@"$6" = true, .@"$7" = true, .@"$8" = true, .@"$9" = true, .@"$10" = true, .@"$11" = true, .@"$12" = true, .@"$13" = true, .@"$14" = true, .@"$15" = true, .@"$24" = true, .@"$25" = 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 {