authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-11-23 07:26:56+01:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-11-23 07:27:50+01:00
log0a9f666ea62829607d782dc0cac5d10099def180
tree4051eeaf8b5f7894cda1ff17991a782217e1445f
parent1231aa9719856320359392e99e330aa78b718c50
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

cbe: translate sparc ccr/icc/xcc registers to icc

C compilers do not distinguish between these.

1 files changed, 4 insertions(+), 0 deletions(-)

src/codegen/c.zig+4
......@@ -5672,6 +5672,10 @@ fn airAsm(f: *Function, inst: Air.Inst.Index) !CValue {
56725672 c_name_buf[0] = '$';
56735673 @memcpy((&c_name_buf)[1..][0..field_name.len], field_name);
56745674 break :name (&c_name_buf)[0 .. 1 + field_name.len];
5675 } else if (target.cpu.arch.isSPARC() and
5676 (mem.eql(u8, field_name, "ccr") or mem.eql(u8, field_name, "icc") or mem.eql(u8, field_name, "xcc"))) name: {
5677 // C compilers just use `icc` to encompass all of these.
5678 break :name "icc";
56755679 } else field_name;
56765680
56775681 try w.print(" {f}", .{fmtStringLiteral(name, null)});