authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-06-04 23:03:31+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-06-04 23:05:47+02:00
log605c01c2dc7cfd5449a4b175bbc6e04a0bb75207
tree2c7c2701172a10b254a7381f77c15036fdd6e78a
parent35df61dec4f7b535a3f0cb8c9e3d4193f84d8835
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

cbe: map fp to s0 in inline asm on riscv


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

src/codegen/c.zig+2
...@@ -4984,6 +4984,8 @@ fn airAsm(f: *Function, inst: Air.Inst.Index) !CValue {...@@ -4984,6 +4984,8 @@ fn airAsm(f: *Function, inst: Air.Inst.Index) !CValue {
4984 (mem.eql(u8, field_name, "ccr") or mem.eql(u8, field_name, "icc") or mem.eql(u8, field_name, "xcc"))) name: {4984 (mem.eql(u8, field_name, "ccr") or mem.eql(u8, field_name, "icc") or mem.eql(u8, field_name, "xcc"))) name: {
4985 // C compilers just use `icc` to encompass all of these.4985 // C compilers just use `icc` to encompass all of these.
4986 break :name "icc";4986 break :name "icc";
4987 } else if (target.cpu.arch.isRISCV() and mem.eql(u8, field_name, "fp")) name: {
4988 break :name "s0";
4987 } else field_name;4989 } else field_name;
49884990
4989 try w.print(" {f}", .{fmtStringLiteral(name, null)});4991 try w.print(" {f}", .{fmtStringLiteral(name, null)});