Commit 23433fb317

Koakuma <koachan@protonmail.com>
2020-08-22 11:27:08
Fix register naming
1 parent 206f96d
Changed files (2)
lib
std
os
bits
linux
lib/std/os/bits/linux/sparc64.zig
@@ -546,8 +546,6 @@ pub const timezone = extern struct {
 
 pub const Elf_Symndx = u32;
 
-// TODO figure out how to do these on sparc64.
-
 pub const fpstate = extern struct {
     regs: [32]u64,
     fsr: u64,
lib/std/os/linux/sparc64.zig
@@ -15,9 +15,9 @@ pub fn syscall0(number: SYS) usize {
         \\ bcc %%xcc, 1f
         \\ neg %%o0
         \\ 1:
-        : [ret] "={%o0}" (-> usize)
-        : [number] "{%g1}" (@enumToInt(number))
-        : "memory", "%o1", "%o2", "%o3", "%o4", "%o5", "%o7"
+        : [ret] "={o0}" (-> usize)
+        : [number] "{g1}" (@enumToInt(number))
+        : "memory", "o1", "o2", "o3", "o4", "o5", "o7"
     );
 }
 
@@ -27,10 +27,10 @@ pub fn syscall1(number: SYS, arg1: usize) usize {
         \\ bcc %%xcc, 1f
         \\ neg %%o0
         \\ 1:
-        : [ret] "={%o0}" (-> usize)
-        : [number] "{%g1}" (@enumToInt(number)),
-          [arg1] "{%o0}" (arg1)
-        : "memory", "%o1", "%o2", "%o3", "%o4", "%o5", "%o7"
+        : [ret] "={o0}" (-> usize)
+        : [number] "{g1}" (@enumToInt(number)),
+          [arg1] "{o0}" (arg1)
+        : "memory", "o1", "o2", "o3", "o4", "o5", "o7"
     );
 }
 
@@ -40,11 +40,11 @@ pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
         \\ bcc %%xcc, 1f
         \\ neg %%o0
         \\ 1:
-        : [ret] "={%o0}" (-> usize)
-        : [number] "{%g1}" (@enumToInt(number)),
-          [arg1] "{%o0}" (arg1),
-          [arg2] "{%o1}" (arg2)
-        : "memory", "%o1", "%o2", "%o3", "%o4", "%o5", "%o7"
+        : [ret] "={o0}" (-> usize)
+        : [number] "{g1}" (@enumToInt(number)),
+          [arg1] "{o0}" (arg1),
+          [arg2] "{o1}" (arg2)
+        : "memory", "o1", "o2", "o3", "o4", "o5", "o7"
     );
 }
 
@@ -54,12 +54,12 @@ pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
         \\ bcc %%xcc, 1f
         \\ neg %%o0
         \\ 1:
-        : [ret] "={%o0}" (-> usize)
-        : [number] "{%g1}" (@enumToInt(number)),
-          [arg1] "{%o0}" (arg1),
-          [arg2] "{%o1}" (arg2),
-          [arg3] "{%o2}" (arg3)
-        : "memory", "%o1", "%o2", "%o3", "%o4", "%o5", "%o7"
+        : [ret] "={o0}" (-> usize)
+        : [number] "{g1}" (@enumToInt(number)),
+          [arg1] "{o0}" (arg1),
+          [arg2] "{o1}" (arg2),
+          [arg3] "{o2}" (arg3)
+        : "memory", "o1", "o2", "o3", "o4", "o5", "o7"
     );
 }
 
@@ -69,13 +69,13 @@ pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize)
         \\ bcc %%xcc, 1f
         \\ neg %%o0
         \\ 1:
-        : [ret] "={%o0}" (-> usize)
-        : [number] "{%g1}" (@enumToInt(number)),
-          [arg1] "{%o0}" (arg1),
-          [arg2] "{%o1}" (arg2),
-          [arg3] "{%o2}" (arg3),
-          [arg4] "{%o3}" (arg4)
-        : "memory", "%o1", "%o2", "%o3", "%o4", "%o5", "%o7"
+        : [ret] "={o0}" (-> usize)
+        : [number] "{g1}" (@enumToInt(number)),
+          [arg1] "{o0}" (arg1),
+          [arg2] "{o1}" (arg2),
+          [arg3] "{o2}" (arg3),
+          [arg4] "{o3}" (arg4)
+        : "memory", "o1", "o2", "o3", "o4", "o5", "o7"
     );
 }
 
@@ -85,14 +85,14 @@ pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize,
         \\ bcc %%xcc, 1f
         \\ neg %%o0
         \\ 1:
-        : [ret] "={%o0}" (-> usize)
-        : [number] "{%g1}" (@enumToInt(number)),
-          [arg1] "{%o0}" (arg1),
-          [arg2] "{%o1}" (arg2),
-          [arg3] "{%o2}" (arg3),
-          [arg4] "{%o3}" (arg4),
-          [arg5] "{%o4}" (arg5),
-        : "memory", "%o1", "%o2", "%o3", "%o4", "%o5", "%o7"
+        : [ret] "={o0}" (-> usize)
+        : [number] "{g1}" (@enumToInt(number)),
+          [arg1] "{o0}" (arg1),
+          [arg2] "{o1}" (arg2),
+          [arg3] "{o2}" (arg3),
+          [arg4] "{o3}" (arg4),
+          [arg5] "{o4}" (arg5),
+        : "memory", "o1", "o2", "o3", "o4", "o5", "o7"
     );
 }
 
@@ -110,15 +110,15 @@ pub fn syscall6(
         \\ bcc %%xcc, 1f
         \\ neg %%o0
         \\ 1:
-        : [ret] "={%o0}" (-> usize)
-        : [number] "{%g1}" (@enumToInt(number)),
-          [arg1] "{%o0}" (arg1),
-          [arg2] "{%o1}" (arg2),
-          [arg3] "{%o2}" (arg3),
-          [arg4] "{%o3}" (arg4),
-          [arg5] "{%o4}" (arg5),
-          [arg6] "{%o5}" (arg6),
-        : "memory", "%o1", "%o2", "%o3", "%o4", "%o5", "%o7"
+        : [ret] "={o0}" (-> usize)
+        : [number] "{g1}" (@enumToInt(number)),
+          [arg1] "{o0}" (arg1),
+          [arg2] "{o1}" (arg2),
+          [arg3] "{o2}" (arg3),
+          [arg4] "{o3}" (arg4),
+          [arg5] "{o4}" (arg5),
+          [arg6] "{o5}" (arg6),
+        : "memory", "o1", "o2", "o3", "o4", "o5", "o7"
     );
 }
 
@@ -130,7 +130,7 @@ pub const restore = restore_rt;
 pub fn restore_rt() callconv(.Naked) void {
     return asm volatile ("t 0x6d"
         :
-        : [number] "{%g1}" (@enumToInt(SYS.rt_sigreturn))
-        : "memory", "%o0", "%o1", "%o2", "%o3", "%o4", "%o5", "%o7"
+        : [number] "{g1}" (@enumToInt(SYS.rt_sigreturn))
+        : "memory", "o0", "o1", "o2", "o3", "o4", "o5", "o7"
     );
 }