authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-10-14 10:11:11+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-10-14 16:56:44+02:00
logb34a13da38f60737477e62dd0acd1a7a6b6be0a0
treee58cea1dcdf357ee6d49eed7f21c1f55e008c2c7
parent2f3234c76ac8465719935bc6ae0e10e0fe59fccd

std.os.linux.sparc64: use icc instead of xcc in asm clobbers

LLVM currently doesn't recognize xcc; icc does what we want.

1 files changed, 9 insertions(+), 9 deletions(-)

lib/std/os/linux/sparc64.zig+9-9
...@@ -54,7 +54,7 @@ pub fn syscall_fork() usize {...@@ -54,7 +54,7 @@ pub fn syscall_fork() usize {
54 \\ 2:54 \\ 2:
55 : [ret] "={o0}" (-> usize),55 : [ret] "={o0}" (-> usize),
56 : [number] "{g1}" (@intFromEnum(SYS.fork)),56 : [number] "{g1}" (@intFromEnum(SYS.fork)),
57 : .{ .memory = true, .xcc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });57 : .{ .memory = true, .icc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
58}58}
5959
60pub fn syscall0(number: SYS) usize {60pub fn syscall0(number: SYS) usize {
...@@ -66,7 +66,7 @@ pub fn syscall0(number: SYS) usize {...@@ -66,7 +66,7 @@ pub fn syscall0(number: SYS) usize {
66 \\ 1:66 \\ 1:
67 : [ret] "={o0}" (-> usize),67 : [ret] "={o0}" (-> usize),
68 : [number] "{g1}" (@intFromEnum(number)),68 : [number] "{g1}" (@intFromEnum(number)),
69 : .{ .memory = true, .xcc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });69 : .{ .memory = true, .icc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
70}70}
7171
72pub fn syscall1(number: SYS, arg1: usize) usize {72pub fn syscall1(number: SYS, arg1: usize) usize {
...@@ -79,7 +79,7 @@ pub fn syscall1(number: SYS, arg1: usize) usize {...@@ -79,7 +79,7 @@ pub fn syscall1(number: SYS, arg1: usize) usize {
79 : [ret] "={o0}" (-> usize),79 : [ret] "={o0}" (-> usize),
80 : [number] "{g1}" (@intFromEnum(number)),80 : [number] "{g1}" (@intFromEnum(number)),
81 [arg1] "{o0}" (arg1),81 [arg1] "{o0}" (arg1),
82 : .{ .memory = true, .xcc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });82 : .{ .memory = true, .icc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
83}83}
8484
85pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {85pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
...@@ -93,7 +93,7 @@ pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {...@@ -93,7 +93,7 @@ pub fn syscall2(number: SYS, arg1: usize, arg2: usize) usize {
93 : [number] "{g1}" (@intFromEnum(number)),93 : [number] "{g1}" (@intFromEnum(number)),
94 [arg1] "{o0}" (arg1),94 [arg1] "{o0}" (arg1),
95 [arg2] "{o1}" (arg2),95 [arg2] "{o1}" (arg2),
96 : .{ .memory = true, .xcc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });96 : .{ .memory = true, .icc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
97}97}
9898
99pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {99pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
...@@ -108,7 +108,7 @@ pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {...@@ -108,7 +108,7 @@ pub fn syscall3(number: SYS, arg1: usize, arg2: usize, arg3: usize) usize {
108 [arg1] "{o0}" (arg1),108 [arg1] "{o0}" (arg1),
109 [arg2] "{o1}" (arg2),109 [arg2] "{o1}" (arg2),
110 [arg3] "{o2}" (arg3),110 [arg3] "{o2}" (arg3),
111 : .{ .memory = true, .xcc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });111 : .{ .memory = true, .icc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
112}112}
113113
114pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize) usize {114pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize) usize {
...@@ -124,7 +124,7 @@ pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize)...@@ -124,7 +124,7 @@ pub fn syscall4(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize)
124 [arg2] "{o1}" (arg2),124 [arg2] "{o1}" (arg2),
125 [arg3] "{o2}" (arg3),125 [arg3] "{o2}" (arg3),
126 [arg4] "{o3}" (arg4),126 [arg4] "{o3}" (arg4),
127 : .{ .memory = true, .xcc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });127 : .{ .memory = true, .icc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
128}128}
129129
130pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize) usize {130pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize, arg5: usize) usize {
...@@ -141,7 +141,7 @@ pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize,...@@ -141,7 +141,7 @@ pub fn syscall5(number: SYS, arg1: usize, arg2: usize, arg3: usize, arg4: usize,
141 [arg3] "{o2}" (arg3),141 [arg3] "{o2}" (arg3),
142 [arg4] "{o3}" (arg4),142 [arg4] "{o3}" (arg4),
143 [arg5] "{o4}" (arg5),143 [arg5] "{o4}" (arg5),
144 : .{ .memory = true, .xcc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });144 : .{ .memory = true, .icc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
145}145}
146146
147pub fn syscall6(147pub fn syscall6(
...@@ -167,7 +167,7 @@ pub fn syscall6(...@@ -167,7 +167,7 @@ pub fn syscall6(
167 [arg4] "{o3}" (arg4),167 [arg4] "{o3}" (arg4),
168 [arg5] "{o4}" (arg5),168 [arg5] "{o4}" (arg5),
169 [arg6] "{o5}" (arg6),169 [arg6] "{o5}" (arg6),
170 : .{ .memory = true, .xcc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });170 : .{ .memory = true, .icc = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
171}171}
172172
173pub fn clone() callconv(.naked) usize {173pub fn clone() callconv(.naked) usize {
...@@ -233,7 +233,7 @@ pub fn restore_rt() callconv(.c) void {...@@ -233,7 +233,7 @@ pub fn restore_rt() callconv(.c) void {
233 return asm volatile ("t 0x6d"233 return asm volatile ("t 0x6d"
234 :234 :
235 : [number] "{g1}" (@intFromEnum(SYS.rt_sigreturn)),235 : [number] "{g1}" (@intFromEnum(SYS.rt_sigreturn)),
236 : .{ .memory = true, .xcc = true, .o0 = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });236 : .{ .memory = true, .icc = true, .o0 = true, .o1 = true, .o2 = true, .o3 = true, .o4 = true, .o5 = true, .o7 = true });
237}237}
238238
239pub const F = struct {239pub const F = struct {