std.start: add kvx support

This commit is contained in:
Alex Rønne Petersen 2025-11-10 06:53:29 +01:00
parent f5d31cff71
commit 8fae6630c4
No known key found for this signature in database

View file

@ -205,6 +205,7 @@ fn _start() callconv(.naked) noreturn {
.arm, .armeb, .thumb, .thumbeb => "", // https://github.com/llvm/llvm-project/issues/115891 .arm, .armeb, .thumb, .thumbeb => "", // https://github.com/llvm/llvm-project/issues/115891
.csky => ".cfi_undefined lr", .csky => ".cfi_undefined lr",
.hexagon => ".cfi_undefined r31", .hexagon => ".cfi_undefined r31",
.kvx => ".cfi_undefined r14",
.loongarch32, .loongarch64 => ".cfi_undefined 1", .loongarch32, .loongarch64 => ".cfi_undefined 1",
.m68k => ".cfi_undefined %%pc", .m68k => ".cfi_undefined %%pc",
.microblaze, .microblazeel => ".cfi_undefined r15", .microblaze, .microblazeel => ".cfi_undefined r15",
@ -318,6 +319,15 @@ fn _start() callconv(.naked) noreturn {
\\ r29 = add(r29, #-8) \\ r29 = add(r29, #-8)
\\ call %[posixCallMainAndExit] \\ call %[posixCallMainAndExit]
, ,
.kvx =>
\\ make $fp = 0
\\ ;;
\\ set $ra = $fp
\\ copyd $r0 = $sp
\\ andd $sp = $sp, -32
\\ ;;
\\ goto %[posixCallMainAndExit]
,
.loongarch32, .loongarch64 => .loongarch32, .loongarch64 =>
\\ move $fp, $zero \\ move $fp, $zero
\\ move $ra, $zero \\ move $ra, $zero